Compare commits

...

292 Commits

Author SHA1 Message Date
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
RiotRobot
1cd2ce9d34 v1.7.17 2021-01-18 15:26:16 +00:00
RiotRobot
542e2c6891 Prepare changelog for v1.7.17 2021-01-18 15:26:16 +00:00
J. Ryan Stinnett
03ce222464 Merge pull request #165 from vector-im/bump-seshat-release
[Release] package: Bump our seshat version
2021-01-18 10:57:40 +00:00
Damir Jelić
00fd261dc1 package: Bump our seshat version 2021-01-15 13:07:33 +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
RiotRobot
cda9f3f190 v1.7.17-rc.1 2021-01-13 13:20:56 +00:00
RiotRobot
2c2addb282 Prepare changelog for v1.7.17-rc.1 2021-01-13 13:20:56 +00:00
J. Ryan Stinnett
19515b614f Merge pull request #162 from vector-im/bump-seshat
package: Bump our Seshat version
2021-01-12 11:48:08 +00:00
Damir Jelić
b646f78897 package: Bump our Seshat version 2021-01-12 12:45:30 +01: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
RiotRobot
8ae1a518fa Merge branch 'master' into develop 2020-12-21 17:50:26 +00:00
RiotRobot
edea42e30e v1.7.16 2020-12-21 17:50:09 +00:00
RiotRobot
fafd8fb206 Prepare changelog for v1.7.16 2020-12-21 17:50:09 +00:00
J. Ryan Stinnett
f9e61d09c9 Merge pull request #159 from vector-im/jryans/electron-10.2.0
Upgrade to Electron 10.2.0
2020-12-17 18:53:12 +00:00
J. Ryan Stinnett
974514e2e6 Upgrade to Electron 10.2.0 2020-12-17 12:18:51 +00:00
RiotRobot
b8d0d990bb v1.7.16-rc.1 2020-12-16 16:47:35 +00:00
RiotRobot
ed1b9247c1 Prepare changelog for v1.7.16-rc.1 2020-12-16 16:47:35 +00:00
J. Ryan Stinnett
d3adfe3777 Merge pull request #158 from vector-im/dependabot/npm_and_yarn/ini-1.3.8
Bump ini from 1.3.5 to 1.3.8
2020-12-14 12:17:45 +00:00
dependabot[bot]
d45007cd1b Bump ini from 1.3.5 to 1.3.8
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.8)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-12 03:11:34 +00:00
RiotRobot
ed00cfada3 Merge branch 'master' into develop 2020-12-07 13:05:07 +00:00
RiotRobot
3a660b2461 v1.7.15 2020-12-07 13:04:50 +00:00
RiotRobot
c6bbff5ffe Prepare changelog for v1.7.15 2020-12-07 13:04:50 +00:00
J. Ryan Stinnett
fa8aef94af Merge pull request #157 from vector-im/jryans/add-gitter
Add gitter.im to room directory
2020-12-04 11:06:23 +00:00
J. Ryan Stinnett
b7c31f17b5 Add gitter.im to room directory 2020-12-04 11:01:33 +00:00
Šimon Brandner
62b6aa26ff Merge branch 'develop' into feature-multi-language-spell-check 2020-12-03 12:03:56 +01:00
RiotRobot
d69f2a6d44 v1.7.15-rc.1 2020-12-02 15:07:44 +00:00
J. Ryan Stinnett
c1ed8ab377 Merge pull request #156 from vector-im/jryans/electron-10.x-rollback
Revert back to the 10.x series
2020-12-02 12:22:08 +00:00
J. Ryan Stinnett
df1c7f2498 Revert back to the 10.x series
The latest 11.x still exhibits
https://github.com/vector-im/element-web/issues/15869, so let's try the latest
10.x version instead.
2020-12-02 12:17:03 +00: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
J. Ryan Stinnett
99c13923ea Merge pull request #155 from vector-im/jryans/electron-11.0.3
Upgrade to Electron 11.0.3
2020-12-01 12:42:52 +00:00
J. Ryan Stinnett
80cb503c48 Upgrade to Electron 11.0.3
We're hoping this may help with frozen window issues in https://github.com/vector-im/element-web/issues/15869.
2020-12-01 12:40:04 +00:00
Šimon Brandner
107efba6f3 Added getAvailableSpellCheckLanguages case 2020-11-29 20:50:57 +01:00
J. Ryan Stinnett
239bab38ca Merge pull request #153 from vector-im/jryans/rebrand-packaged-artifact
Update branding of packaging artifacts
2020-11-25 11:16:57 +00:00
J. Ryan Stinnett
e952b479ac Update branding of packaging artifacts
This updates the names of various packaging and build artifacts to match current
branding.

Part of https://github.com/vector-im/element-web/issues/14896
2020-11-24 12:48:37 +00:00
J. Ryan Stinnett
231ac2bbb9 Merge pull request #152 from vector-im/jryans/electron-11.0.1
Upgrade to Electron 11.0.1
2020-11-23 19:00:25 +00:00
RiotRobot
58543cacc8 v1.7.14 2020-11-23 16:54:03 +00:00
RiotRobot
8582e360b5 Prepare changelog for v1.7.14 2020-11-23 16:54:03 +00:00
J. Ryan Stinnett
0e919f9992 Upgrade to Electron 11.0.1
No breaking changes we need to adjust for as far as I can tell. Tested on macOS
only so far, appears to be working.
2020-11-18 16:56:35 +00:00
RiotRobot
b0a5003eaa v1.7.14-rc.1 2020-11-18 16:38:21 +00:00
RiotRobot
6c0d8d5bda Prepare changelog for v1.7.14-rc.1 2020-11-18 16:38:21 +00:00
J. Ryan Stinnett
302f25054a Merge pull request #151 from EdwardBetts/spelling
Correct spelling mistakes
2020-11-16 13:27:47 +00:00
Edward Betts
82c88ca654 Correct spelling mistakes 2020-11-14 21:54:07 +00:00
RiotRobot
b9b7dcb264 v1.7.13 2020-11-09 16:44:51 +00:00
RiotRobot
90d5612548 Prepare changelog for v1.7.13 2020-11-09 16:44:50 +00:00
RiotRobot
e4583ed752 v1.7.13-rc.1 2020-11-04 14:25:33 +00:00
RiotRobot
20dace2679 Prepare changelog for v1.7.13-rc.1 2020-11-04 14:25:32 +00:00
Michael Telatynski
bc7231fb00 Merge pull request #150 from vector-im/t3chguy/countly
Add countly experiment to develop/nightly configs
2020-10-30 13:09:09 +00:00
Michael Telatynski
270daf1356 Add countly experiment to develop/nightly configs 2020-10-30 10:32:21 +00:00
RiotRobot
4957e9e24f v1.7.12 2020-10-28 15:12:32 +00:00
RiotRobot
7be314caf8 Prepare changelog for v1.7.12 2020-10-28 15:12:32 +00:00
RiotRobot
2b0ec9eb2f v1.7.11 2020-10-26 17:24:28 +00:00
RiotRobot
5220abbfd4 Prepare changelog for v1.7.11 2020-10-26 17:24:28 +00:00
RiotRobot
272f317415 v1.7.11-rc.1 2020-10-21 14:54:46 +01:00
RiotRobot
0023fb25a2 Prepare changelog for v1.7.11-rc.1 2020-10-21 14:54:46 +01:00
RiotRobot
783117fea9 Merge branch 'master' into develop 2020-10-20 11:31:41 +01:00
RiotRobot
4e61aad299 v1.7.10 2020-10-20 11:31:22 +01:00
RiotRobot
94dee7bece Prepare changelog for v1.7.10 2020-10-20 11:31:22 +01:00
Travis Ralston
92f57ca880 Merge pull request #148 from vector-im/dependabot/npm_and_yarn/npm-user-validate-1.0.1
Bump npm-user-validate from 1.0.0 to 1.0.1
2020-10-16 13:40:10 -06:00
dependabot[bot]
7bd70e2eb6 Bump npm-user-validate from 1.0.0 to 1.0.1
Bumps [npm-user-validate](https://github.com/npm/npm-user-validate) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/npm/npm-user-validate/releases)
- [Commits](https://github.com/npm/npm-user-validate/compare/v1.0.0...v1.0.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-16 19:33:28 +00:00
Damir Jelić
8add8d7717 electron-main: Fix some lint issues. 2020-10-13 17:07:39 +02:00
Damir Jelić
1d811b6f4b electron-main: Use keytar to for the seshat passphrase.
This will also change the passphrase for existing setups if no
passphrase is found in the secret store.
2020-10-13 15:59:21 +02:00
Damir Jelić
50a4069893 electron-main: Refactor out the randomArray method. 2020-10-13 15:58:35 +02:00
RiotRobot
14415e2707 Merge branch 'master' into develop 2020-10-12 13:52:44 +01:00
RiotRobot
367dd5640c v1.7.9 2020-10-12 13:52:24 +01:00
RiotRobot
08ee24dfb6 Prepare changelog for v1.7.9 2020-10-12 13:52:23 +01:00
J. Ryan Stinnett
9bb386f2b5 Merge pull request #146 from vector-im/jryans/electron-10.1.3
Upgrade to Electron 10.1.3
2020-10-07 15:24:19 +01:00
J. Ryan Stinnett
0f94667dea Upgrade to Electron 10.1.3 2020-10-07 15:02:51 +01:00
RiotRobot
a71ac70a13 v1.7.9-rc.1 2020-10-07 14:23:43 +01:00
RiotRobot
5a0f686b28 Prepare changelog for v1.7.9-rc.1 2020-10-07 14:23:43 +01:00
poljar
2170e494fb Merge pull request #145 from vector-im/poljar/seshat-bump
package.json: Bump the seshat version.
2020-10-05 18:30:27 +02:00
Damir Jelić
6ced94914f package.json: Bump the seshat version. 2020-10-05 18:23:32 +02:00
Michael Telatynski
5ca16bf2fc Merge pull request #144 from vector-im/t3chguy/fix/15311
Explicitly depend on `request` as webcontents-handler requires it
2020-09-29 13:03:41 +01:00
Michael Telatynski
f56dadd0ad Explicitly depend on request as webcontents-handler requires it
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-09-29 12:53:08 +01:00
J. Ryan Stinnett
215babb081 Merge pull request #143 from vector-im/jryans/upgrade-pti-2020
Upgrade png-to-ico
2020-09-28 16:35:37 +01:00
J. Ryan Stinnett
f71e2bf232 Upgrade png-to-ico
This is a major version upgrade, but seems API compatible for our case. This
helps bring several dependencies up to modern versions.
2020-09-28 16:22:30 +01:00
RiotRobot
b146f50e91 Merge branch 'master' into develop 2020-09-28 16:13:25 +01:00
RiotRobot
e86e784359 v1.7.8 2020-09-28 16:13:06 +01:00
RiotRobot
afd578df71 Prepare changelog for v1.7.8 2020-09-28 16:13:06 +01:00
David Baker
b54ebc9008 Merge pull request #142 from vector-im/dbkr/fix_new_issue_link
Point 'new issue' link at issue-type choice page
2020-09-28 12:52:18 +01:00
David Baker
30d03d64b3 Point 'new issue' link at issue-type choice page
Fixes https://github.com/vector-im/element-web/issues/15289
2020-09-28 11:37:34 +01:00
RiotRobot
e14c43a2fe v1.7.8-rc.1 2020-09-23 15:27:17 +01:00
RiotRobot
8e16b1b5e0 Prepare changelog for v1.7.8-rc.1 2020-09-23 15:27:17 +01:00
J. Ryan Stinnett
161b024bf2 Merge pull request #141 from vector-im/jryans/neon-seshat
Fix neon error by upgrading Seshat
2020-09-21 14:55:17 +01:00
J. Ryan Stinnett
434215b24b Fix neon error by upgrading Seshat 2020-09-21 14:52:26 +01:00
RiotRobot
df958ff56b Merge branch 'master' into develop 2020-09-14 16:05:19 +01:00
RiotRobot
89d4be6cb6 v1.7.7 2020-09-14 16:05:02 +01:00
RiotRobot
e9ecdde704 Prepare changelog for v1.7.7 2020-09-14 16:05:02 +01:00
RiotRobot
0e6ae2514a Merge branch 'master' into develop 2020-09-14 13:45:34 +01:00
RiotRobot
f5b51aecfe v1.7.6 2020-09-14 13:45:15 +01:00
RiotRobot
a88d1a838c Prepare changelog for v1.7.6 2020-09-14 13:45:15 +01:00
RiotRobot
3a3b9641e9 v1.7.6-rc.1 2020-09-09 15:59:31 +01:00
RiotRobot
6e9407e7c1 Prepare changelog for v1.7.6-rc.1 2020-09-09 15:59:31 +01:00
J. Ryan Stinnett
7d3c203464 Merge pull request #140 from vector-im/jryans/electron-10.1.1
Upgrade to Electron 10.1.1
2020-09-09 15:10:26 +01:00
J. Ryan Stinnett
e9b4fb2245 Upgrade to Electron 10.1.1 2020-09-09 14:57:09 +01:00
J. Ryan Stinnett
2382cc56b1 Merge pull request #139 from vector-im/jryans/rename-pipeline
Update to Element pipeline name
2020-09-09 11:10:19 +01:00
J. Ryan Stinnett
b7a2810dc3 Update to Element pipeline name 2020-09-09 11:09:10 +01:00
Travis Ralston
9eb6932f11 Merge pull request #137 from vector-im/dependabot/npm_and_yarn/bl-4.0.3
Bump bl from 4.0.2 to 4.0.3
2020-09-02 10:39:57 -06:00
dependabot[bot]
d1883aa2e8 Bump bl from 4.0.2 to 4.0.3
Bumps [bl](https://github.com/rvagg/bl) from 4.0.2 to 4.0.3.
- [Release notes](https://github.com/rvagg/bl/releases)
- [Commits](https://github.com/rvagg/bl/compare/v4.0.2...v4.0.3)

Signed-off-by: dependabot[bot] <support@github.com>
2020-09-02 16:24:05 +00:00
RiotRobot
2308ab9a83 v1.7.5 2020-09-01 17:24:09 +01:00
RiotRobot
b33205d607 Prepare changelog for v1.7.5 2020-09-01 17:24:09 +01:00
RiotRobot
df3d37586e v1.7.5-rc.1 2020-08-26 12:17:37 +01:00
RiotRobot
fd68a83c08 Prepare changelog for v1.7.5-rc.1 2020-08-26 12:17:37 +01:00
Travis Ralston
b0f4a4debc Merge pull request #135 from vector-im/travis/settings-v3
Settings v3: Update configs for new feature flag behaviour
2020-08-19 11:56:53 -06:00
Travis Ralston
7fac3a9b7c Update configs for new settings structure 2020-08-17 13:44:17 -06:00
RiotRobot
711967d19b Merge branch 'master' into develop 2020-08-17 12:53:54 +01:00
RiotRobot
e00eb4b952 v1.7.4 2020-08-17 12:53:31 +01:00
RiotRobot
caff0ef9f0 Prepare changelog for v1.7.4 2020-08-17 12:53:31 +01:00
Michael Telatynski
065f5d7adc Merge pull request #134 from vector-im/t3chguy-patch-1
Add reaction preview labs flags to nightly
2020-08-17 11:15:52 +01:00
Michael Telatynski
67f0570af4 Add reaction preview labs flags to nightly 2020-08-17 11:10:11 +01:00
RiotRobot
87125f4c59 v1.7.4-rc.1 2020-08-13 12:04:28 +01:00
RiotRobot
bae3f08936 Prepare changelog for v1.7.4-rc.1 2020-08-13 12:04:28 +01:00
J. Ryan Stinnett
efc8baf1df Merge pull request #132 from vector-im/jryans/rebrand-policy
Update policy links to element.io
2020-08-13 11:30:44 +01:00
J. Ryan Stinnett
c0ca8cd240 Merge pull request #131 from vector-im/jryans/rebrand-rageshakes
Update bug report submission URL
2020-08-10 11:11:42 +01:00
J. Ryan Stinnett
501611fa30 Update policy links to element.io
Part of https://github.com/vector-im/element-web/issues/14904
2020-08-07 11:38:48 +01:00
J. Ryan Stinnett
9d6cd6c7c0 Update bug report submission URL
Part of https://github.com/vector-im/element-web/issues/14892
2020-08-07 10:53:15 +01:00
J. Ryan Stinnett
d67f75779e Merge pull request #130 from vector-im/jryans/new-cert
Update code signing cert for Windows
2020-08-05 19:04:10 +01:00
J. Ryan Stinnett
26f283b56d Update code signing cert for Windows
The existing Windows code signing cert was due to expire 2020-08-23, so this
replaces it with a renewed cert.
2020-08-05 18:59:02 +01:00
RiotRobot
e1b1020700 Merge branch 'master' into develop 2020-08-05 15:34:06 +01:00
RiotRobot
53d46343b8 v1.7.3 2020-08-05 15:33:43 +01:00
RiotRobot
aaddcef169 Prepare changelog for v1.7.3 2020-08-05 15:33:43 +01:00
J. Ryan Stinnett
ba0210f8c1 Merge pull request #129 from vector-im/jryans/riot-to-element
Replace Riot with Element in docs and comments
2020-08-04 10:07:32 +01:00
David Baker
99d1ed4ff1 Merge pull request #128 from vector-im/dbkr/readme_build_order
Fix order of README steps
2020-08-04 08:23:34 +01:00
J. Ryan Stinnett
045f122688 Replace Riot with Element in docs and comments
This only covers the simple cases of references to issues and repos. More
complex areas, such as deployment scripts, will be handled separately.

Part of https://github.com/vector-im/element-web/issues/14864
2020-08-03 18:32:42 +01:00
David Baker
cbfb247ade Fix order of README steps
to be in the order they needd to be run.
2020-07-31 21:04:54 +01:00
J. Ryan Stinnett
eb4bf9e401 Merge pull request #127 from vector-im/jryans/electron-9.1.2
Upgrade to Electron 9.1.2
2020-07-31 13:20:33 +01:00
RiotRobot
0cdf85e20b v1.7.3-rc.1 2020-07-31 13:18:34 +01:00
RiotRobot
6e455f6bd4 Prepare changelog for v1.7.3-rc.1 2020-07-31 13:18:33 +01:00
J. Ryan Stinnett
0892ea5006 Upgrade to Electron 9.1.2 2020-07-31 12:56:47 +01:00
J. Ryan Stinnett
f344d8cac4 Merge pull request #126 from vector-im/jryans/cleanup-lint
Clean up linting
2020-07-28 18:38:43 +01:00
J. Ryan Stinnett
3decdb060e Remove redundant lint dependencies
We can let the linting package pull these in transitively for us.
2020-07-28 16:56:15 +01:00
J. Ryan Stinnett
92f48eced9 Remove JS SDK, no longer needed for lint rules
The JS SDK was previously only here for the ESLint config, but this is now part
of a separate package.
2020-07-28 16:37:46 +01:00
David Baker
045f6f8b42 Merge pull request #125 from vector-im/dbkr/more_renaming_faff
Update renaming workaround for 'Element' name
2020-07-28 16:16:32 +01:00
David Baker
358e3b8f7d Update rebrand stub to run 'Element.exe' 2020-07-28 16:02:40 +01:00
David Baker
c6ab88508f Remove the Element (Riot) shortcuts too 2020-07-28 15:56:05 +01:00
RiotRobot
a4cbe3acab Reset matrix-js-sdk back to develop branch 2020-07-27 21:11:27 +01:00
RiotRobot
4c7bdb35dd v1.7.2 2020-07-27 21:10:48 +01:00
RiotRobot
5735a0abdd Prepare changelog for v1.7.2 2020-07-27 21:10:48 +01:00
RiotRobot
0e882b80d2 Upgrade matrix-js-sdk to 8.0.0 2020-07-27 21:05:45 +01:00
David Baker
6b75b83c00 Merge pull request #124 from vector-im/dbkr/catch_exceptions_fetch_scripts
Catch exceptions from main method in fetch script
2020-07-23 11:21:47 +01:00
David Baker
d9e8fa34e7 Catch exceptions from main method in fetch script 2020-07-23 11:14:26 +01:00
Jorik Schellekens
300eac197d Merge pull request #122 from vector-im/joriks/eslint-config
Use new eslint package
2020-07-22 16:53:57 +01:00
David Baker
d49625e253 Merge pull request #123 from vector-im/dbkr/remove_bracketed_riot
Remove ' (Riot)' from app name
2020-07-21 18:11:48 +01:00
David Baker
94086f247a Remove ' (Riot)' from app name
And remove the hacks to make the user data path different from the
app name. Also add the profile dir to the legacy user data dir too.

Fixes https://github.com/vector-im/riot-web/issues/14619
Fixes https://github.com/vector-im/riot-web/issues/14623
2020-07-21 17:57:54 +01:00
Jorik Schellekens
422a827b82 Use new eslint package 2020-07-21 15:06:38 +01:00
RiotRobot
f21c1bee11 Reset matrix-js-sdk back to develop branch 2020-07-16 16:13:19 +01:00
RiotRobot
a6c86b131d v1.7.1 2020-07-16 16:12:44 +01:00
RiotRobot
777003d9a3 Prepare changelog for v1.7.1 2020-07-16 16:12:44 +01:00
RiotRobot
72334b8cd4 Upgrade matrix-js-sdk to 7.1.0 2020-07-16 16:12:07 +01:00
J. Ryan Stinnett
5ae86cd728 Merge pull request #121 from vector-im/dependabot/npm_and_yarn/lodash-4.17.19
Bump lodash from 4.17.15 to 4.17.19
2020-07-16 14:07:42 +01:00
dependabot[bot]
adf4453903 Bump lodash from 4.17.15 to 4.17.19
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

Signed-off-by: dependabot[bot] <support@github.com>
2020-07-16 08:55:42 +00:00
David Baker
180710f54c Merge pull request #120 from vector-im/dbkr/userdata_support_nightly
Don't forget nightly when computing userData path
2020-07-16 09:55:09 +01:00
David Baker
afa40de885 Merge pull request #119 from vector-im/dbkr/hostinglink
Fix hosting link
2020-07-16 09:30:38 +01:00
J. Ryan Stinnett
96c9b85e11 Merge pull request #117 from vector-im/neilalexander/icns
New macOS icon
2020-07-15 22:34:58 +01:00
David Baker
9d15c1bbd0 Don't forget nightly when computing userData path
We were assuming we were always 'Element'
2020-07-15 20:21:06 +01:00
David Baker
9004ce4fa5 Merge remote-tracking branch 'origin/develop' into dbkr/hostinglink 2020-07-15 20:16:57 +01:00
David Baker
174aaa684e Apparently this has been changed and should be changed here too 2020-07-15 20:05:43 +01:00
David Baker
583caa0aaa Fix hosting link
Fixes https://github.com/vector-im/riot-web/issues/14500
2020-07-15 20:03:02 +01:00
J. Ryan Stinnett
62736b86f1 Merge pull request #118 from theoryshaw/patch-1
Update README.md
2020-07-15 17:39:50 +01:00
Ryan Schultz
16c6f9839b Update README.md 2020-07-15 11:25:02 -05:00
Neil Alexander
e3e79fdfe1 New macOS icon 2020-07-15 15:52:31 +01:00
David Baker
764835a43c Merge pull request #115 from vector-im/dbkr/update_more_icons
More icon updates
2020-07-15 13:57:56 +01:00
David Baker
769d4cf647 Merge remote-tracking branch 'old-origin/develop' into dbkr/update_more_icons 2020-07-15 13:53:04 +01:00
David Baker
b06bba2c69 More icon updates 2020-07-15 13:50:00 +01:00
David Baker
80746c1f22 Merge pull request #114 from vector-im/dbkr/yarn_install
Don't forget to yarn install
2020-07-15 13:28:51 +01:00
David Baker
c2a39a4a8e Merge remote-tracking branch 'old-origin/develop' into dbkr/yarn_install 2020-07-15 12:55:58 +01:00
David Baker
e7190e3168 Don't forget to yarn install 2020-07-15 12:53:50 +01:00
RiotRobot
78a601fbeb Reset matrix-js-sdk back to develop branch 2020-07-15 12:12:12 +01:00
RiotRobot
6c3edb9a13 v1.7.0 2020-07-15 12:11:21 +01:00
RiotRobot
def85eef19 Prepare changelog for v1.7.0 2020-07-15 12:11:20 +01:00
RiotRobot
b25479093b Upgrade matrix-js-sdk to 7.1.0 2020-07-15 12:08:07 +01:00
David Baker
b839264d9f Merge pull request #113 from vector-im/dbkr/move_function_for_linter
Fix lint error
2020-07-15 11:43:54 +01:00
David Baker
5f01bbd9e0 Fix lint error 2020-07-15 11:41:30 +01:00
J. Ryan Stinnett
71c8ea417d Merge remote-tracking branch 'origin/develop' into element-develop 2020-07-15 10:44:25 +01:00
J. Ryan Stinnett
c2cfed72df Merge branch 'jryans/update-packages' into 'develop'
Update nightly transitional package

See merge request new-vector/element/element-desktop!8
2020-07-15 08:32:28 +00:00
J. Ryan Stinnett
da58f1d3d1 Update nightly transitional package 2020-07-15 09:25:00 +01:00
Jorik Schellekens
735ba9ce75 Merge pull request #112 from vector-im/joriks/delabs-font-scaling
Delabs font-scaling
2020-07-14 22:01:17 +01:00
David Baker
ed9a0a60de Merge branch 'dbkr/windows_rebrand' into 'develop'
Some terribleness to make updating work on windows

See merge request new-vector/element/element-desktop!7
2020-07-14 18:20:01 +00:00
David Baker
3a253fe742 Some terribleness to make updating work on windows
Squirrel doesn't handle the executable changing name, as hopefully
explained in comments
2020-07-14 19:05:28 +01:00
J. Ryan Stinnett
a00d98a95a Merge branch 'jryans/update-brand' into 'develop'
Update brand name in config

See merge request new-vector/element/element-desktop!6
2020-07-13 20:44:27 +00:00
Jorik Schellekens
2cc25f699b Delabs font-scaling 2020-07-13 19:10:59 +01:00
J. Ryan Stinnett
0978a5042c Update brand name in config 2020-07-13 18:40:21 +01:00
David Baker
3e80cdedd8 Merge branch 'dbkr/rebrand_icons' into 'develop'
New icons (expect install spinner)

See merge request new-vector/element/element-desktop!5
2020-07-13 16:12:59 +00:00
David Baker
358fe6f878 New install spinner 2020-07-13 17:10:31 +01:00
David Baker
8c9352dff0 colour profile on 512x512 icon 2020-07-13 16:59:04 +01:00
David Baker
483860fb00 add back the 512x512 icon 2020-07-13 15:57:14 +01:00
David Baker
7f6a2c6a50 Change mac icons to display p3 colourspace
so the logo is the right colour (on wide gamut displays)
2020-07-13 15:15:23 +01:00
Travis Ralston
94b2ac703a Merge pull request #109 from vector-im/travis/room-list/enable
Remove room list labs flag from config
2020-07-13 06:56:19 -06:00
David Baker
332d52cfdc New icons (expect install spinner) 2020-07-13 13:21:21 +01:00
Travis Ralston
e88ef97b87 Merge branch 'develop' into travis/room-list/enable 2020-07-10 21:35:47 -06:00
Jorik Schellekens
c7683d70b4 Merge pull request #111 from vector-im/joriks/delabs-irc-layout
Remove the irc layout setting from labs
2020-07-09 16:20:41 +01:00
Jorik Schellekens
53950e69ad Remove the irc layout setting from labs 2020-07-09 15:59:16 +01:00
David Baker
9d650eacbb Merge branch 'dbkr/add_brackets' into 'develop'
Add old app name in brackets

See merge request new-vector/element/element-desktop!4
2020-07-08 11:01:25 +00:00
Travis Ralston
d9047d7960 Merge pull request #108 from vector-im/travis/update-npm
Update npm to ^6.14.6
2020-07-07 14:49:35 -06:00
Travis Ralston
5e2876649d Update npm to ^6.14.6 2020-07-07 14:48:36 -06:00
Travis Ralston
bed2eb2c41 Remove labs flag from config 2020-07-07 13:58:33 -06:00
David Baker
4a488c9ab2 Add old app name in brackets
And fix user data path to be non-bracketed version always.
2020-07-07 18:57:29 +01:00
David Baker
6cc225059a Merge branch 'dbkr/debian_package_rename' into 'develop'
Rename riot package

See merge request new-vector/element/element-desktop!3
2020-07-03 16:29:14 +00:00
David Baker
2862870bb5 Remove transitional packages from the main control file
because this generated a broken package
2020-07-03 16:14:41 +01:00
RiotRobot
4f844d9a64 Reset matrix-js-sdk back to develop branch 2020-07-03 13:23:36 +01:00
RiotRobot
d91034a938 v1.6.8 2020-07-03 13:23:00 +01:00
RiotRobot
46d5e0508b Prepare changelog for v1.6.8 2020-07-03 13:23:00 +01:00
RiotRobot
ed3a07e61b Upgrade matrix-js-sdk to 7.1.0 2020-07-03 13:22:09 +01:00
David Baker
197f1dc451 Rename riot package
Add a transitional package which hopefully does the upgrade in the
right way (following https://wiki.debian.org/RenamingPackages
except that adding the transitional package to the new package's
control file make a package that reprepro rejects...)

The transitional packages can be built with:

```
dpkg -b riot-desktop_1.7.0_all
```

The nightly transitional package is named / versioned assuming a
release on Monday the 13th and will need to be edited & renamed
as approriate (it just needs to be greater than whatever the latest
nightly is at that point).
2020-07-03 12:30:01 +01:00
David Baker
fdb02b93e5 Merge branch 'dbkr/rebrand_step_2' into 'develop'
Rebrand step 2

See merge request new-vector/element/element-desktop!2
2020-07-02 14:01:17 +00:00
David Baker
c048dff4de Apply 1 suggestion(s) to 1 file(s) 2020-07-02 13:42:45 +00:00
David Baker
85dd2504db Rebrand step 2
* Continue to use Riot user data directory if it exists and the new
   one doesn't, so users stay logged in.
 * Move the auto-launcher over to new name.
 * Look for keytar password under both names.
2020-07-02 13:30:11 +01:00
David Baker
6d5ada7e3f Merge branch 'dbkr/rebrand_step_1' into 'develop'
Rebrand step 1: s/riot/element/ in the places where it's reasonably simple

See merge request new-vector/element/element-desktop!1
2020-07-01 16:49:46 +00:00
David Baker
72c88c8c87 change domain for fetching key 2020-07-01 17:46:17 +01:00
David Baker
ff84841b52 Apply suggestion to README.md 2020-07-01 16:42:50 +00:00
David Baker
3a2176443c Apply suggestion to README.md 2020-07-01 16:42:39 +00:00
David Baker
5b2139a048 Apply suggestion to README.md 2020-07-01 16:42:24 +00:00
David Baker
386e0be08d This one's easy too 2020-07-01 15:40:23 +01:00
David Baker
466a871094 Rebrand step 1: s/riot/element/ in the places where it's reasonably simple 2020-07-01 15:30:53 +01:00
RiotRobot
1ea9a9d8be v1.6.8-rc.1 2020-07-01 14:31:37 +01:00
RiotRobot
c859c78621 Prepare changelog for v1.6.8-rc.1 2020-07-01 14:31:37 +01:00
RiotRobot
c057dde907 Upgrade matrix-js-sdk to 7.1.0-rc.1 2020-07-01 14:23:47 +01:00
Michael Telatynski
4ca58eebf9 Merge pull request #106 from vector-im/t3chguy/download_toast
Show expiring toast on completed downloads to prompt user to open
2020-06-30 20:18:56 +01:00
J. Ryan Stinnett
b337f41a93 Merge pull request #107 from vector-im/jryans/e-9.0.5
Upgrade to Electron 9.0.5
2020-06-30 17:32:20 +01:00
J. Ryan Stinnett
60d01d1a33 Upgrade to Electron 9.0.5 2020-06-30 16:55:14 +01:00
Andrew Morgan
fb6c87200e Merge pull request #105 from vector-im/anoa/new_spinner_feature_flag
Add new spinner labs option to config.json
2020-06-29 17:09:20 +01:00
RiotRobot
9c92b57193 Reset matrix-js-sdk back to develop branch 2020-06-29 16:17:45 +01:00
RiotRobot
910cd9824b Merge branch 'master' into develop 2020-06-29 16:17:16 +01:00
Michael Telatynski
891e7ca234 Show expiring toast on completed downloads to prompt user to open
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-29 16:08:39 +01:00
Andrew Morgan
6c04a56579 Add new spinner labs option to config.json
Previously added to Riot Web's config.json: https://github.com/vector-im/riot-web/pull/14213
2020-06-28 19:26:25 +01:00
Damir Jelić
a11feaca32 Merge branch 'poljar/skip-unneeded-reindex' into develop 2020-06-24 16:59:29 +02:00
Damir Jelić
b23cc417e1 package.json: Bump the required Seshat version. 2020-06-24 16:31:49 +02:00
Damir Jelić
2da6bc6a1e electron-main: Rename the deletion method for the index. 2020-06-24 11:06:09 +02:00
Damir Jelić
141107c678 electron-main: Skip the reindex if we're going to delete the db anyways. 2020-06-23 16:42:27 +02:00
RiotRobot
503442e189 Reset matrix-js-sdk back to develop branch 2020-06-23 15:20:45 +01:00
RiotRobot
43e9c19f8d Merge branch 'master' into develop 2020-06-23 15:20:01 +01:00
Damir Jelić
748f4dccb4 riot-desktop: Bump the required seshat version. 2020-06-19 10:52:02 +02:00
Damir Jelić
069f009d85 Merge remote-tracking branch 'origin/poljar/eventindex-user-version' into develop 2020-06-19 09:54:29 +02:00
Damir Jelić
c1646e882a Merge remote-tracking branch 'origin/poljar/eventindex-newly-encrypted-room' into develop 2020-06-19 09:54:19 +02:00
Michael Telatynski
3597f43b73 Merge pull request #94 from vector-im/t3chguy/electron9
Upgrade to Electron 9
2020-06-17 20:59:14 +01:00
Michael Telatynski
17cbc88d39 Bump to electron 9.0.4
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-17 16:58:36 +01:00
Michael Telatynski
a95e40506b Merge branches 'develop' and 't3chguy/electron9' of https://github.com/vector-im/riot-desktop into t3chguy/electron9 2020-06-17 16:57:17 +01:00
Damir Jelić
a9b4110d65 electron-main: Add support to set and get the user version. 2020-06-17 17:19:47 +02:00
Damir Jelić
193dd0f9e3 main: Add an event index IPC method to check if a room is being indexed. 2020-06-08 16:41:15 +02:00
Michael Telatynski
3da78268d8 Upgrade to Electron 9
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-23 11:57:10 +01:00
50 changed files with 3004 additions and 1407 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,5 +1,3 @@
const jsSdkEslintCfg = require('matrix-js-sdk/.eslintrc');
module.exports = {
parserOptions: {
ecmaVersion: 8,
@@ -10,17 +8,15 @@ module.exports = {
// we also have some browser code (ie. the preload script)
browser: true,
},
extends: ["eslint:recommended", "google"],
rules: jsSdkEslintCfg.rules,
extends: ["matrix-org"],
rules: {
// js-sdk uses a babel rule which we can't use because we
// don't use babel, so remove it & put the original back
"babel/no-invalid-this": "off",
"no-invalid-this": "error",
"quotes": "off",
"indent": "off",
"prefer-promise-reject-errors": "off",
"no-async-promise-executor": "off",
}
}
// js-sdk uses a babel rule which we can't use because we
// don't use babel, so remove it & put the original back
delete module.exports.rules["babel/no-invalid-this"];
module.exports.rules["no-invalid-this"] = "error";
// also override the line length to be consistent with
// vector-web / react-sdk rather than js-sdk
module.exports.rules["max-len"] = ["warn", {
code: 120,
}];

View File

@@ -1,3 +1,355 @@
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)
* [Release] package: Bump our seshat version
[\#165](https://github.com/vector-im/element-desktop/pull/165)
Changes in [1.7.17-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v1.7.17-rc.1) (2021-01-13)
=============================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.16...v1.7.17-rc.1)
* package: Bump our Seshat version
[\#162](https://github.com/vector-im/element-desktop/pull/162)
* Upgrade to Electron 10.2.0
[\#159](https://github.com/vector-im/element-desktop/pull/159)
Changes in [1.7.16](https://github.com/vector-im/element-desktop/releases/tag/v1.7.16) (2020-12-21)
===================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.16-rc.1...v1.7.16)
* No changes since rc.1
Changes in [1.7.16-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v1.7.16-rc.1) (2020-12-16)
=============================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.15...v1.7.16-rc.1)
* Bump ini from 1.3.5 to 1.3.8
[\#158](https://github.com/vector-im/element-desktop/pull/158)
* Add gitter.im to room directory
[\#157](https://github.com/vector-im/element-desktop/pull/157)
Changes in [1.7.15](https://github.com/vector-im/element-desktop/releases/tag/v1.7.15) (2020-12-07)
===================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.15-rc.1...v1.7.15)
* No changes since rc.1
Changes in [1.7.15-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v1.7.15-rc.1) (2020-12-02)
===================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.14...v1.7.15-rc.1)
* No changes since 1.7.14
Changes in [1.7.14](https://github.com/vector-im/element-desktop/releases/tag/v1.7.14) (2020-11-23)
===================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.14-rc.1...v1.7.14)
* No changes since rc.1
Changes in [1.7.14-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v1.7.14-rc.1) (2020-11-18)
=============================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.13...v1.7.14-rc.1)
* Correct spelling mistakes
[\#151](https://github.com/vector-im/element-desktop/pull/151)
Changes in [1.7.13](https://github.com/vector-im/element-desktop/releases/tag/v1.7.13) (2020-11-09)
===================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.13-rc.1...v1.7.13)
* No changes since rc.1
Changes in [1.7.13-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v1.7.13-rc.1) (2020-11-04)
=============================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.12...v1.7.13-rc.1)
* Add countly experiment to develop/nightly configs
[\#150](https://github.com/vector-im/element-desktop/pull/150)
Changes in [1.7.12](https://github.com/vector-im/element-desktop/releases/tag/v1.7.12) (2020-10-28)
===================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.11...v1.7.12)
* No changes since 1.7.11
Changes in [1.7.11](https://github.com/vector-im/element-desktop/releases/tag/v1.7.11) (2020-10-26)
===================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.11-rc.1...v1.7.11)
* No changes since rc.1
Changes in [1.7.11-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v1.7.11-rc.1) (2020-10-21)
=============================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.10...v1.7.11-rc.1)
* Bump npm-user-validate from 1.0.0 to 1.0.1
[\#148](https://github.com/vector-im/element-desktop/pull/148)
* Use keytar for the seshat passphrase.
[\#147](https://github.com/vector-im/element-desktop/pull/147)
* Upgrade to Electron 10.1.3
[\#146](https://github.com/vector-im/element-desktop/pull/146)
Changes in [1.7.10](https://github.com/vector-im/element-desktop/releases/tag/v1.7.10) (2020-10-20)
===================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.9...v1.7.10)
* No changes since 1.7.9
Changes in [1.7.9](https://github.com/vector-im/element-desktop/releases/tag/v1.7.9) (2020-10-12)
=================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.9-rc.1...v1.7.9)
* No changes since rc.1
Changes in [1.7.9-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v1.7.9-rc.1) (2020-10-07)
===========================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.8...v1.7.9-rc.1)
* package.json: Bump the seshat version.
[\#145](https://github.com/vector-im/element-desktop/pull/145)
* Explicitly depend on `request` as webcontents-handler requires it
[\#144](https://github.com/vector-im/element-desktop/pull/144)
* Upgrade png-to-ico
[\#143](https://github.com/vector-im/element-desktop/pull/143)
* Point 'new issue' link at issue-type choice page
[\#142](https://github.com/vector-im/element-desktop/pull/142)
Changes in [1.7.8](https://github.com/vector-im/element-desktop/releases/tag/v1.7.8) (2020-09-28)
=================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.8-rc.1...v1.7.8)
* No changes since rc.1
Changes in [1.7.8-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v1.7.8-rc.1) (2020-09-23)
===========================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.7...v1.7.8-rc.1)
* Fix neon error by upgrading Seshat
[\#141](https://github.com/vector-im/element-desktop/pull/141)
* Upgrade to Electron 10.1.1
[\#140](https://github.com/vector-im/element-desktop/pull/140)
Changes in [1.7.7](https://github.com/vector-im/element-desktop/releases/tag/v1.7.7) (2020-09-14)
=================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.6...v1.7.7)
* No changes since 1.7.6
Changes in [1.7.6](https://github.com/vector-im/element-desktop/releases/tag/v1.7.6) (2020-09-14)
=================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.6-rc.1...v1.7.6)
* No changes since rc.1
Changes in [1.7.6-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v1.7.6-rc.1) (2020-09-09)
===========================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.5...v1.7.6-rc.1)
* Update to Element pipeline name
[\#139](https://github.com/vector-im/element-desktop/pull/139)
* Bump bl from 4.0.2 to 4.0.3
[\#137](https://github.com/vector-im/element-desktop/pull/137)
Changes in [1.7.5](https://github.com/vector-im/element-desktop/releases/tag/v1.7.5) (2020-09-01)
=================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.5-rc.1...v1.7.5)
* No changes since 1.7.5-rc.1
Changes in [1.7.5-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v1.7.5-rc.1) (2020-08-26)
===========================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.4...v1.7.5-rc.1)
* Settings v3: Update configs for new feature flag behaviour
[\#135](https://github.com/vector-im/element-desktop/pull/135)
* Add reaction preview labs flags to nightly
[\#134](https://github.com/vector-im/element-desktop/pull/134)
Changes in [1.7.4](https://github.com/vector-im/element-desktop/releases/tag/v1.7.4) (2020-08-17)
=================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.4-rc.1...v1.7.4)
* No changes since 1.7.4-rc.1
Changes in [1.7.4-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v1.7.4-rc.1) (2020-08-13)
===========================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.3...v1.7.4-rc.1)
* Update policy links to element.io
[\#132](https://github.com/vector-im/element-desktop/pull/132)
* Update bug report submission URL
[\#131](https://github.com/vector-im/element-desktop/pull/131)
* Update code signing cert for Windows
[\#130](https://github.com/vector-im/element-desktop/pull/130)
* Replace Riot with Element in docs and comments
[\#129](https://github.com/vector-im/element-desktop/pull/129)
* Fix order of README steps
[\#128](https://github.com/vector-im/element-desktop/pull/128)
* Upgrade to Electron 9.1.2
[\#127](https://github.com/vector-im/element-desktop/pull/127)
Changes in [1.7.3](https://github.com/vector-im/element-desktop/releases/tag/v1.7.3) (2020-08-05)
=================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.3-rc.1...v1.7.3)
* No changes since 1.7.3-rc.1
Changes in [1.7.3-rc.1](https://github.com/vector-im/riot-desktop/releases/tag/v1.7.3-rc.1) (2020-07-31)
========================================================================================================
[Full Changelog](https://github.com/vector-im/riot-desktop/compare/v1.7.2...v1.7.3-rc.1)
* Clean up linting
[\#126](https://github.com/vector-im/riot-desktop/pull/126)
* Update renaming workaround for 'Element' name
[\#125](https://github.com/vector-im/riot-desktop/pull/125)
Changes in [1.7.2](https://github.com/vector-im/riot-desktop/releases/tag/v1.7.2) (2020-07-27)
==============================================================================================
[Full Changelog](https://github.com/vector-im/riot-desktop/compare/v1.7.1...v1.7.2)
* Catch exceptions from main method in fetch script
[\#124](https://github.com/vector-im/riot-desktop/pull/124)
* Use new eslint package
[\#122](https://github.com/vector-im/riot-desktop/pull/122)
* Remove ' (Riot)' from app name
[\#123](https://github.com/vector-im/riot-desktop/pull/123)
Changes in [1.7.1](https://github.com/vector-im/riot-desktop/releases/tag/v1.7.1) (2020-07-16)
==============================================================================================
[Full Changelog](https://github.com/vector-im/riot-desktop/compare/v1.7.0...v1.7.1)
* Bump lodash from 4.17.15 to 4.17.19
[\#121](https://github.com/vector-im/riot-desktop/pull/121)
* Don't forget nightly when computing userData path
[\#120](https://github.com/vector-im/riot-desktop/pull/120)
* Fix hosting link
[\#119](https://github.com/vector-im/riot-desktop/pull/119)
* New macOS icon
[\#117](https://github.com/vector-im/riot-desktop/pull/117)
* Update README.md
[\#118](https://github.com/vector-im/riot-desktop/pull/118)
* More icon updates
[\#115](https://github.com/vector-im/riot-desktop/pull/115)
* Don't forget to yarn install
[\#114](https://github.com/vector-im/riot-desktop/pull/114)
Changes in [1.7.0](https://github.com/vector-im/riot-desktop/releases/tag/v1.7.0) (2020-07-15)
==============================================================================================
[Full Changelog](https://github.com/vector-im/riot-desktop/compare/v1.6.8...v1.7.0)
* Fix lint error
[\#113](https://github.com/vector-im/riot-desktop/pull/113)
* Delabs font-scaling
[\#112](https://github.com/vector-im/riot-desktop/pull/112)
* Remove room list labs flag from config
[\#109](https://github.com/vector-im/riot-desktop/pull/109)
* Remove the irc layout setting from labs
[\#111](https://github.com/vector-im/riot-desktop/pull/111)
* Update npm to ^6.14.6
[\#108](https://github.com/vector-im/riot-desktop/pull/108)
Changes in [1.6.8](https://github.com/vector-im/riot-desktop/releases/tag/v1.6.8) (2020-07-03)
==============================================================================================
[Full Changelog](https://github.com/vector-im/riot-desktop/compare/v1.6.8-rc.1...v1.6.8)
* No changes since rc.1
Changes in [1.6.8-rc.1](https://github.com/vector-im/riot-desktop/releases/tag/v1.6.8-rc.1) (2020-07-01)
========================================================================================================
[Full Changelog](https://github.com/vector-im/riot-desktop/compare/v1.6.7...v1.6.8-rc.1)
* Show expiring toast on completed downloads to prompt user to open
[\#106](https://github.com/vector-im/riot-desktop/pull/106)
* Upgrade to Electron 9.0.5
[\#107](https://github.com/vector-im/riot-desktop/pull/107)
* Add new spinner labs option to config.json
[\#105](https://github.com/vector-im/riot-desktop/pull/105)
* electron-main: Skip the reindex if we're going to delete the db anyways.
[\#104](https://github.com/vector-im/riot-desktop/pull/104)
* riot-desktop: Bump the required seshat version.
[\#103](https://github.com/vector-im/riot-desktop/pull/103)
* main: Add an event index IPC method to check if a room is being indexed.
[\#100](https://github.com/vector-im/riot-desktop/pull/100)
* electron-main: Add support to set and get the user version.
[\#102](https://github.com/vector-im/riot-desktop/pull/102)
* Upgrade to Electron 9
[\#94](https://github.com/vector-im/riot-desktop/pull/94)
Changes in [1.6.7](https://github.com/vector-im/riot-desktop/releases/tag/v1.6.7) (2020-06-29)
==============================================================================================
[Full Changelog](https://github.com/vector-im/riot-desktop/compare/v1.6.6...v1.6.7)
@@ -174,7 +526,7 @@ Changes in [1.6.0-rc.1](https://github.com/vector-im/riot-desktop/releases/tag/v
[\#57](https://github.com/vector-im/riot-desktop/pull/57)
* Remove welcome user from config
[\#56](https://github.com/vector-im/riot-desktop/pull/56)
* electron-main: Immediatelly set the eventIndex variable to null when
* electron-main: Immediately set the eventIndex variable to null when
closing.
[\#55](https://github.com/vector-im/riot-desktop/pull/55)
* Enable Seshat on Nightly

View File

@@ -1,23 +1,31 @@
Riot Desktop
============
Element Desktop
===============
This is Riot desktop app as of release 1.6.
Element Desktop is a Matrix client for desktop platforms with Element Web at its core.
Fetching Riot
=============
Since this package is just the Electron wrapper for Riot, it doesn't contain any of the Riot code,
so the first step is to get a working copy of Riot. There are a few ways of doing this:
First Steps
===========
Before you do anything else, fetch the dependencies:
```
# Fetch the prebuilt release Riot package from the riot.im GitHub releases page. The version
# fetched will be the same as the local riot-desktop package.
# We're explicitly asking for no config, so the package Riot will have no config.json.
yarn install
```
Fetching Element
================
Since this package is just the Electron wrapper for Element Web, it doesn't contain any of the Element Web code,
so the first step is to get a working copy of Element Web. There are a few ways of doing this:
```
# Fetch the prebuilt release Element package from the element-web GitHub releases page. The version
# fetched will be the same as the local element-desktop package.
# We're explicitly asking for no config, so the packaged Element will have no config.json.
yarn run fetch --noverify --cfgdir ''
```
...or if you'd like to use GPG to verify the downloaded package:
```
# Fetch the Riot public key from the riot.im web server over a secure connection and import
# Fetch the Element public key from the element.io web server over a secure connection and import
# it into your local GPG keychain (you'll need GPG installed). You only need to to do this
# once.
yarn run fetch --importkey
@@ -25,18 +33,18 @@ yarn run fetch --importkey
yarn run fetch --cfgdir ''
```
...or either of the above, but fetching a specific version of Riot:
...or either of the above, but fetching a specific version of Element:
```
# Fetch the prebuilt release Riot package from the riot.im GitHub releases page. The version
# fetched will be the same as the local riot-desktop package.
# Fetch the prebuilt release Element package from the element-web GitHub releases page. The version
# fetched will be the same as the local element-desktop package.
yarn run fetch --noverify --cfgdir '' v1.5.6
```
If you only want to run the app locally and don't need to build packages, you can
provide the `webapp` directory directly:
```
# Assuming you've checked out and built a copy of riot-web in ../riot-web
ln -s ../riot-web/webapp ./
# Assuming you've checked out and built a copy of element-web in ../element-web
ln -s ../element-web/webapp ./
```
[TODO: add support for fetching develop builds, arbitrary URLs and arbitrary paths]
@@ -44,15 +52,29 @@ ln -s ../riot-web/webapp ./
Building
========
Now you have a copy of Riot, you're ready to build packages. If you'd just like to
run Riot locally, skip to the next section.
Now you have a copy of Element, you're ready to build packages. If you'd just like to
run Element locally, skip to the next section.
If you'd like to build the native modules (for searching in encrypted rooms and
secure storage), do this first. This will take 10 minutes or so, and will
require a number of native tools to be installed, depending on your OS (eg.
rust, tcl, make/nmake). If you don't need these features, you can skip this
step.
```
yarn run build:native
```
On Windows, this will automatically determine the architecture to build for based
on the environment (ie. set up by vcvarsall.bat).
Now you can build the package:
```
yarn run build
```
This will do a couple of things:
* Run the `setversion` script to set the local package version to match whatever
version of Riot you installed above.
version of Element you installed above.
* Run electron-builder to build a package. The package built will match the operating system
you're running the build process on.
@@ -67,16 +89,6 @@ yarn run build64
This build step will not build any native modules.
If you'd like to build the native modules (for searching in encrypted rooms):
This will take 10 minutes or so, and will require a number of native tools
to be installed, depending on your OS (eg. rust, tcl, make/nmake).
```
yarn run build:native
```
On Windows, this will automatically determine the architecture to build for based
on the environment (ie. set up by vcvarsall.bat).
You can also build using docker, which will always produce the linux package:
```
# Run this once to make the docker image
@@ -102,7 +114,7 @@ yarn start
Config
======
If you'd like the packaged Riot to have a configuration file, you can create a
If you'd like the packaged Element to have a configuration file, you can create a
config directory and place `config.json` in there, then specify this directory
with the `--cfgdir` option to `yarn run fetch`, eg:
```
@@ -110,15 +122,15 @@ mkdir myconfig
cp /path/to/my/config.json myconfig/
yarn run fetch --cfgdir myconfig
```
The config dir for the official Riot.im app is in `riot.im`. If you use this,
your app will auto-update itself using builds from Riot.im.
The config dir for the official Element app is in `element.io`. If you use this,
your app will auto-update itself using builds from element.io.
Profiles
========
To run multiple instances of the desktop app for different accounts, you can
launch the executable with the `--profile` argument followed by a unique
identifier, e.g `riot-desktop --profile Work` for it to run a separate profile and
identifier, e.g `element-desktop --profile Work` for it to run a separate profile and
not interfere with the default one.
Alternatively, a custom location for the profile data can be specified using the
@@ -131,5 +143,14 @@ User-specified config.json
+ `$XDG_CONFIG_HOME\$NAME\config.json` or `~/.config/$NAME/config.json` on Linux
+ `~/Library/Application Support/$NAME/config.json` on macOS
In the paths above, `$NAME` is typically `Riot`, unless you use `--profile
$PROFILE` in which case it becomes `Riot-$PROFILE`.
In the paths above, `$NAME` is typically `Element`, unless you use `--profile
$PROFILE` in which case it becomes `Element-$PROFILE`, or it is using one of
the above created by a pre-1.7 install, in which case it will be `Riot` or
`Riot-$PROFILE`.
Report bugs & give feedback
==========================
If you run into any bugs or have feedback you'd like to share, please let us know on GitHub.
To help avoid duplicate issues, please [view existing issues](https://github.com/vector-im/element-web/issues?q=is%3Aopen+is%3Aissue+sort%3Areactions-%2B1-desc) first (and add a +1) or [create a new issue](https://github.com/vector-im/element-web/issues/new/choose) if you can't find it. Please note that this issue tracker is associated with the [element-web](https://github.com/vector-im/element-web) repo, but is also applied to the code in this repo as well.

View File

Binary file not shown.

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 702 B

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 256 KiB

View File

@@ -0,0 +1,51 @@
#include <windows.h>
#include <stdio.h>
#include <string.h>
#include <tchar.h>
/*
* This just runs 'Element.exe' with the same args as
* this process was invoked with. This gets around the fact that
* squirrel always tries to run an executable with the same name,
* so fails to restart if the app's name has changed.
*/
void _tmain( int argc, TCHAR *argv[] )
{
LPSTR myCmdLine = GetCommandLineA();
char cmdLine[32767];
LPSTR cmdLinePos = cmdLine;
LPSTR toRun = "\"Element.exe\" ";
strncpy(cmdLinePos, toRun, strlen(toRun));
cmdLinePos += strlen(toRun);
if (myCmdLine[0] == '"') ++myCmdLine;
myCmdLine += strlen(argv[0]);
if (myCmdLine[0] == '"') ++myCmdLine;
if (myCmdLine[0] == ' ') ++myCmdLine;
strncpy(cmdLinePos, myCmdLine, (cmdLine + 32767) - cmdLinePos);
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
ZeroMemory(&pi, sizeof(pi));
if (!CreateProcess(NULL,
cmdLine, // Command line
NULL, // Process handle not inheritable
NULL, // Thread handle not inheritable
FALSE, // Set handle inheritance to FALSE
0, // No creation flags
NULL, // Use parent's environment block
NULL, // Use parent's starting directory
&si, // Pointer to STARTUPINFO structure
&pi ) // Pointer to PROCESS_INFORMATION structure
)
{
printf("CreateProcess failed (%d).\n", GetLastError());
return;
}
}

View File

Binary file not shown.

View File

@@ -0,0 +1,34 @@
-----BEGIN CERTIFICATE-----
MIIF8DCCBNigAwIBAgIRAIZSd8hNVs3w8AhJIsQSoYYwDQYJKoZIhvcNAQELBQAw
gZExCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMTcwNQYD
VQQDEy5DT01PRE8gUlNBIEV4dGVuZGVkIFZhbGlkYXRpb24gQ29kZSBTaWduaW5n
IENBMB4XDTIwMDczMDAwMDAwMFoXDTIzMDczMDIzNTk1OVowgfMxETAPBgNVBAUT
CDEwODczNjYxMRMwEQYLKwYBBAGCNzwCAQMTAkdCMR0wGwYDVQQPExRQcml2YXRl
IE9yZ2FuaXphdGlvbjELMAkGA1UEBhMCR0IxDzANBgNVBBEMBlc0IDFRVTEYMBYG
A1UECAwPTG9uZG9uLCBDaXR5IG9mMQ8wDQYDVQQHDAZMb25kb24xJzAlBgNVBAkM
HjE0IFR1cm5oYW0gR3JlZW4sIFRlcnJhY2UgTWV3czEbMBkGA1UECgwSTmV3IFZl
Y3RvciBMaW1pdGVkMRswGQYDVQQDDBJOZXcgVmVjdG9yIExpbWl0ZWQwggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDKDnGul2M7oCCN+3veGf7yfakSfMjK
Kqeylyo0Nj8dUleNQvsRo0OHxIWJlbHDYglxebT109MqgyASr0SoeiqvXOSSFACD
MYFoyerRGMnXEuomTU0y7+FE3p/hcim8+C5gS+rHr3YaJJuzzXRztjjCBGoY4was
h9V8kYiyMMK0xi2WftOCBa1yYS32CInHIZVmdhzoK4k4YzSYIp57BWvnIUlDyCYk
slNfp0SFbDrOGa7kbmy8HRfWPLjNmW5PPIrsf8LlnVRBfmTeUIJtV31w/FuMjeir
pzYjzooXmpIrj96ecxdc9thP6etCUazvpowjfewu7UNWRUhGPtYn8v8rAgMBAAGj
ggHdMIIB2TAfBgNVHSMEGDAWgBTfj/MgDOnKpgTYW1g3Kj2rRtyDSTAdBgNVHQ4E
FgQUB9su4pCQXE5ZWFhB1eo48992LEcwDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB
/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwMwEQYJYIZIAYb4QgEBBAQDAgQQMEkG
A1UdIARCMEAwNQYMKwYBBAGyMQECAQYBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8v
c2VjdGlnby5jb20vQ1BTMAcGBWeBDAEDMFUGA1UdHwROMEwwSqBIoEaGRGh0dHA6
Ly9jcmwuY29tb2RvY2EuY29tL0NPTU9ET1JTQUV4dGVuZGVkVmFsaWRhdGlvbkNv
ZGVTaWduaW5nQ0EuY3JsMIGGBggrBgEFBQcBAQR6MHgwUAYIKwYBBQUHMAKGRGh0
dHA6Ly9jcnQuY29tb2RvY2EuY29tL0NPTU9ET1JTQUV4dGVuZGVkVmFsaWRhdGlv
bkNvZGVTaWduaW5nQ0EuY3J0MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21v
ZG9jYS5jb20wJgYDVR0RBB8wHaAbBggrBgEFBQcIA6APMA0MC0dCLTEwODczNjYx
MA0GCSqGSIb3DQEBCwUAA4IBAQBZ8/YtqW/+VUoV8knKpdhMR2uTn8AEyVmfmoZA
Ly5kdCRoKvFm/z4VK4cqF7gsUDxRIgDuMKKbWTtr1FEXuaZkUkOjicNcdYxc0pDn
nFKBWAv5pN5OmnC9cVqIG7PtvD+8bKVzDdQRjpGMy6PY4rN2PYGfQ7KGgddEDD6m
oM51jI/OTvCeU0Tyl0bixKEmpUJvbeQM9Ul2Y1o5Enx1Q9uda8xATb0HCMKgJ+GC
iFHL2DNC3j1xK4QoZEIYgbTscj9rK4OMEov3PT/e1FwQyB5V9xdJ5i1MDBDD9fAf
OiVgf90SffT7TgWUbA4Z+PtQHq/qNma0+dZWyeq7zYn2IIX3
-----END CERTIFICATE-----

6
element.io/README Normal file
View File

@@ -0,0 +1,6 @@
This directory contains the config file for the official element.io distribution
of Element Desktop.
You probably do not want to build with this config unless you're building the
official element.io distribution, or you'll find your builds will replace
themselves with the element.io build.

View File

@@ -1,7 +1,7 @@
{
"update_base_url": "https://packages.riot.im/nightly/update/",
"default_server_name": "matrix.org",
"brand": "Riot Nightly",
"brand": "Element Nightly",
"integrations_ui_url": "https://scalar-staging.vector.im/",
"integrations_rest_url": "https://scalar-staging.vector.im/api",
"integrations_widgets_urls": [
@@ -11,31 +11,18 @@
"https://scalar-staging.vector.im/api",
"https://scalar-staging.riot.im/scalar/api"
],
"hosting_signup_link": "https://modular.im/services/matrix-hosting-riot?utm_source=riot-web&utm_medium=web",
"bug_report_endpoint_url": "https://riot.im/bugreports/submit",
"features": {
"feature_pinning": "labs",
"feature_custom_status": "labs",
"feature_custom_tags": "labs",
"feature_state_counters": "labs",
"feature_many_integration_managers": "labs",
"feature_mjolnir": "labs",
"feature_dm_verification": "labs",
"feature_bridge_state": "labs",
"feature_presence_in_room_list": "labs",
"feature_custom_themes": "labs",
"feature_new_room_list": "labs",
"feature_irc_ui": "labs",
"feature_font_scaling": "labs"
},
"hosting_signup_link": "https://element.io/matrix-services?utm_source=element-web&utm_medium=web",
"bug_report_endpoint_url": "https://element.io/bugreports/submit",
"showLabsSettings": true,
"piwik": {
"url": "https://piwik.riot.im/",
"siteId": 1,
"policyUrl": "https://matrix.org/legal/riot-im-cookie-policy"
"policyUrl": "https://element.io/cookie-policy"
},
"roomDirectory": {
"servers": [
"matrix.org"
"matrix.org",
"gitter.im"
]
},
"enable_presence_by_hs_url": {
@@ -44,11 +31,11 @@
},
"terms_and_conditions_links": [
{
"url": "https://riot.im/privacy",
"url": "https://element.io/privacy",
"text": "Privacy Policy"
},
{
"url": "https://matrix.org/legal/riot-im-cookie-policy",
"url": "https://element.io/cookie-policy",
"text": "Cookie Policy"
}
]

View File

@@ -1,11 +1,11 @@
Package: riot-nightly
Package: element-nightly
License: Apache-2.0
Vendor: support@riot.im
Vendor: support@element.io
Architecture: amd64
Maintainer: support@riot.im
Maintainer: support@element.io
Depends: libgtk-3-0, libnotify4, libnss3, libxss1, libxtst6, xdg-utils, libatspi2.0-0, libuuid1, libappindicator3-1, libsecret-1-0, libsqlcipher0
Section: net
Priority: extra
Homepage: https://riot.im/
Homepage: https://element.io/
Description:
A feature-rich client for Matrix.org (nightly unstable build).
riot.im A feature-rich client for Matrix.org (nightly unstable build).

View File

@@ -0,0 +1,9 @@
Package: riot-nightly
Version: 2020071502
Depends: element-nightly
Maintainer: packages@element.io
Architecture: all
Priority: optional
Section: oldlibs
Description: transitional package
This is a transitional package. It can safely be removed.

View File

@@ -1,7 +1,7 @@
{
"update_base_url": "https://packages.riot.im/desktop/update/",
"default_server_name": "matrix.org",
"brand": "Riot",
"brand": "Element",
"integrations_ui_url": "https://scalar.vector.im/",
"integrations_rest_url": "https://scalar.vector.im/api",
"integrations_widgets_urls": [
@@ -11,17 +11,19 @@
"https://scalar-staging.vector.im/api",
"https://scalar-staging.riot.im/scalar/api"
],
"hosting_signup_link": "https://modular.im/services/matrix-hosting-riot?utm_source=riot-web&utm_medium=web",
"bug_report_endpoint_url": "https://riot.im/bugreports/submit",
"hosting_signup_link": "https://element.io/matrix-services?utm_source=element-web&utm_medium=web",
"bug_report_endpoint_url": "https://element.io/bugreports/submit",
"roomDirectory": {
"servers": [
"matrix.org"
"matrix.org",
"gitter.im"
]
},
"showLabsSettings": false,
"piwik": {
"url": "https://piwik.riot.im/",
"siteId": 1,
"policyUrl": "https://matrix.org/legal/riot-im-cookie-policy"
"policyUrl": "https://element.io/cookie-policy"
},
"enable_presence_by_hs_url": {
"https://matrix.org": false,
@@ -29,11 +31,11 @@
},
"terms_and_conditions_links": [
{
"url": "https://riot.im/privacy",
"url": "https://element.io/privacy",
"text": "Privacy Policy"
},
{
"url": "https://matrix.org/legal/riot-im-cookie-policy",
"url": "https://element.io/cookie-policy",
"text": "Cookie Policy"
}
]

View File

@@ -1,13 +1,13 @@
Package: riot-desktop
Package: element-desktop
License: Apache-2.0
Vendor: support@riot.im
Vendor: support@element.io
Architecture: amd64
Maintainer: support@riot.im
Maintainer: support@element.io
Depends: libgtk-3-0, libnotify4, libnss3, libxss1, libxtst6, xdg-utils, libatspi2.0-0, libuuid1, libappindicator3-1, libsecret-1-0, libsqlcipher0
Provides: riot-web
Replaces: riot-web
Replaces: riot-desktop (<< 1.7.0), riot-web (<< 1.7.0)
Breaks: riot-desktop (<< 1.7.0), riot-web (<< 1.7.0)
Section: net
Priority: extra
Homepage: https://riot.im/
Homepage: https://element.io/
Description:
A feature-rich client for Matrix.org

View File

@@ -0,0 +1,9 @@
Package: riot-desktop
Version: 1.7.0
Depends: element-desktop
Maintainer: packages@element.io
Architecture: all
Priority: optional
Section: oldlibs
Description: transitional package
This is a transitional package. It can safely be removed.

View File

@@ -1,13 +1,13 @@
{
"name": "riot-desktop",
"productName": "Riot",
"name": "element-desktop",
"productName": "Element",
"main": "src/electron-main.js",
"version": "1.6.7",
"version": "1.7.23",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"author": "Element",
"repository": {
"type": "git",
"url": "https://github.com/vector-im/riot-desktop"
"url": "https://github.com/vector-im/element-desktop"
},
"license": "Apache-2.0",
"files": [],
@@ -21,7 +21,7 @@
"build32": "electron-builder --ia32",
"build64": "electron-builder --x64",
"build": "electron-builder",
"docker:setup": "docker build -t riot-desktop-dockerbuild dockerbuild",
"docker:setup": "docker build -t element-desktop-dockerbuild dockerbuild",
"docker:build:native": "scripts/in-docker.sh yarn run hak",
"docker:build": "scripts/in-docker.sh yarn run build",
"docker:install": "scripts/in-docker.sh yarn install",
@@ -30,40 +30,39 @@
"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": "^1.0.2"
"png-to-ico": "^2.1.1",
"request": "^2.88.2"
},
"devDependencies": {
"asar": "^2.0.1",
"electron-builder": "^22.3.2",
"electron-builder-squirrel-windows": "^22.3.2",
"electron-devtools-installer": "^2.2.4",
"electron-notarize": "^0.2.0",
"eslint": "^5.8.0",
"eslint-config-google": "^0.7.1",
"eslint-plugin-babel": "^4.1.2",
"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",
"fs-extra": "^8.1.0",
"glob": "^7.1.6",
"matrix-js-sdk": "7.0.0",
"mkdirp": "^1.0.3",
"needle": "^2.5.0",
"node-pre-gyp": "^0.15.0",
"npm": "^6.13.7",
"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": "^1.3.3",
"matrix-seshat": "^2.2.3",
"keytar": "^5.6.0"
},
"build": {
"appId": "im.riot.app",
"electronVersion": "8.0.3",
"electronVersion": "11.2.3",
"files": [
"package.json",
{
@@ -82,9 +81,9 @@
"linux": {
"target": "deb",
"category": "Network;InstantMessaging;Chat",
"maintainer": "support@riot.im",
"maintainer": "support@element.io",
"desktop": {
"StartupWMClass": "riot"
"StartupWMClass": "element"
}
},
"mac": {
@@ -100,12 +99,13 @@
"directories": {
"output": "dist"
},
"afterPack": "scripts/electron_afterPack",
"afterSign": "scripts/electron_afterSign",
"protocols": [
{
"name": "riot",
"name": "element",
"schemes": [
"riot"
"element"
]
}
]

View File

@@ -1,6 +1,6 @@
#!/bin/bash
#
# Script to perform a release of riot-desktop.
# Script to perform a release of element-desktop.
#
# Requires githib-changelog-generator; to install, do
# pip install git+https://github.com/matrix-org/github-changelog-generator.git
@@ -9,52 +9,4 @@ set -e
cd `dirname $0`
for i in matrix-js-sdk
do
echo "Checking version of $i..."
depver=`cat package.json | jq -r .devDependencies[\"$i\"]`
latestver=`yarn info -s $i dist-tags.next`
if [ "$depver" != "$latestver" ]
then
echo "The latest version of $i is $latestver but package.json depends on $depver."
echo -n "Type 'u' to auto-upgrade, 'c' to continue anyway, or 'a' to abort:"
read resp
if [ "$resp" != "u" ] && [ "$resp" != "c" ]
then
echo "Aborting."
exit 1
fi
if [ "$resp" == "u" ]
then
echo "Upgrading $i to $latestver..."
yarn add -ED $i@$latestver
git add -u
# The `-e` flag opens the editor and gives you a chance to check
# the upgrade for correctness.
git commit -m "Upgrade $i to $latestver" -e
fi
fi
done
./node_modules/matrix-js-sdk/release.sh -n -z "$@"
release="${1#v}"
prerelease=0
# We check if this build is a prerelease by looking to
# see if the version has a hyphen in it. Crude,
# but semver doesn't support postreleases so anything
# with a hyphen is a prerelease.
echo $release | grep -q '-' && prerelease=1
if [ $prerelease -eq 0 ]
then
# For a release, reset SDK deps back to the `develop` branch.
for i in matrix-js-sdk
do
echo "Resetting $i to develop branch..."
yarn add -D github:matrix-org/$i#develop
git add -u
git commit -m "Reset $i back to develop branch"
done
git push origin develop
fi

BIN
res/img/element.ico Normal file
View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
res/img/element.png Normal file
View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -1,34 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIF0jCCBLqgAwIBAgIRAISYBqZi3VvCUeSfHXF+cbwwDQYJKoZIhvcNAQELBQAw
gZExCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMTcwNQYD
VQQDEy5DT01PRE8gUlNBIEV4dGVuZGVkIFZhbGlkYXRpb24gQ29kZSBTaWduaW5n
IENBMB4XDTE3MDgyMzAwMDAwMFoXDTIwMDgyMjIzNTk1OVowgdgxETAPBgNVBAUT
CDEwODczNjYxMRMwEQYLKwYBBAGCNzwCAQMTAkdCMR0wGwYDVQQPExRQcml2YXRl
IE9yZ2FuaXphdGlvbjELMAkGA1UEBhMCR0IxETAPBgNVBBEMCFdDMVIgNEFHMQ8w
DQYDVQQIDAZMb25kb24xDzANBgNVBAcMBkxvbmRvbjEbMBkGA1UECQwSMjYgUmVk
IExpb24gU3F1YXJlMRcwFQYDVQQKDA5OZXcgVmVjdG9yIEx0ZDEXMBUGA1UEAwwO
TmV3IFZlY3RvciBMdGQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7
X0HP3oM/SVr6PboD03ndtYTONZDcJ/GJ3EyYi6UNrcbKjuDHwPktx9hjAhNjcVkG
lmuTEPluPj9DbvjaTrers0cQsAS1vJ0RHjLfA93Flg1ys9Q6OThUMw77FtFPtiJU
z5cSYzfFAhn/4dv7BcgGptn+Mv/8CaTu+RUZJUgoSlRWcT1TREmxkzWotbblqsHO
zjDmUg20tL5/qpt6BSWsNespf5udKQFXMtqkczBcLvBLmql0vurVcQy8BibB+Q89
QKwRzwLgaIa7O8WEssFcW8uJe9s0SNtUy8ehbuoSxpA/DbHFwsiDbNA78vp7HrqM
qY6t6OIgLtDYBFCfe/btAgMBAAGjggHaMIIB1jAfBgNVHSMEGDAWgBTfj/MgDOnK
pgTYW1g3Kj2rRtyDSTAdBgNVHQ4EFgQUH+mDOdRkF3bYDxCWEaGB4lxiCxcwDgYD
VR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwMw
EQYJYIZIAYb4QgEBBAQDAgQQMEYGA1UdIAQ/MD0wOwYMKwYBBAGyMQECAQYBMCsw
KQYIKwYBBQUHAgEWHWh0dHBzOi8vc2VjdXJlLmNvbW9kby5jb20vQ1BTMFUGA1Ud
HwROMEwwSqBIoEaGRGh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL0NPTU9ET1JTQUV4
dGVuZGVkVmFsaWRhdGlvbkNvZGVTaWduaW5nQ0EuY3JsMIGGBggrBgEFBQcBAQR6
MHgwUAYIKwYBBQUHMAKGRGh0dHA6Ly9jcnQuY29tb2RvY2EuY29tL0NPTU9ET1JT
QUV4dGVuZGVkVmFsaWRhdGlvbkNvZGVTaWduaW5nQ0EuY3J0MCQGCCsGAQUFBzAB
hhhodHRwOi8vb2NzcC5jb21vZG9jYS5jb20wJgYDVR0RBB8wHaAbBggrBgEFBQcI
A6APMA0MC0dCLTEwODczNjYxMA0GCSqGSIb3DQEBCwUAA4IBAQBJ2aH4aixh0aiz
4WKlK+LMVLHpQ2POE3FZYNpAW7o1q2YDGEADXdGrygPE9NCGNBXKo0CAemCYNWfX
Ov/jdoiMfeqW3vrZ66oEy8OqbvJSwK1xmomWuYw3wYPWcPVG+YbWYD2CGdQu8jTz
fzAJCpvAuY3Wji3fQjiecAC7JCSB4fBHa0ALJOmiSqKQUUpkXs5kW7O0lPBnHzNF
2tQGltXMSIrq1QfFtcreMyKlwDOxPIh360dv5aHhaeSRDRKxq7uq5ikQF2gjKx4k
ieg2HRbAW6fVPpFr4zRS5umpeZV3i06i11VQQPS/mA/OBEXyaqzx4mr6B7U6ptrp
jMqiUv2w
-----END CERTIFICATE-----

View File

@@ -1,6 +0,0 @@
This directory contains the config file for the official riot.im distribution
of Riot Desktop.
You probably do not want to build with this config unless you're building the
official riot.im distribution, or you'll find your builds will replace
themselves with the riot.im build.

View File

@@ -2,12 +2,4 @@
set -ex
scripts/fetchdep.sh matrix-org matrix-js-sdk
pushd matrix-js-sdk
yarn link
yarn install $@
popd
yarn link matrix-js-sdk
yarn install $@

View File

@@ -1,170 +0,0 @@
#!/bin/bash
usage() {
echo "Usage: $0 -v <version> -d <config directory> [-n]"
echo
echo "version: commit-ish to check out and build"
echo "config directory: a path to a directory containing"
echo "config.json, a json config file to ship with the build"
echo "and env.sh, a file to source environment variables"
echo "from."
echo "-n: build with no config file."
echo
echo "The update_base_url value from config.json is used to set up auto-update."
echo
echo "Environment variables:"
echo " OSSLSIGNCODE_SIGNARGS: Arguments to pass to osslsigncode when signing"
echo " NOTARIZE_APPLE_ID: Apple ID to use for notarisation. The password for"
echo " this account must be set in NOTARIZE_CREDS in the keychain."
}
confdir=
version=
skipcfg=0
while getopts "d:v:n" opt; do
case $opt in
d)
confdir=$OPTARG
;;
v)
version=$OPTARG
;;
n)
skipcfg=1
;;
\?)
echo "Invalid option: -$OPTARG" >&2
usage
exit
;;
esac
done
if [ -z "$version" ]; then
echo "No version supplied"
usage
exit
fi
conffile="$confdir/config.json"
if [ -z "$conffile" ] && [ "$skipcfg" = 0 ]; then
echo "No config file given. Use -c to supply a config file or"
echo "-n to build with no config file (and no auto update)."
exit
fi
if [ -n "$conffile" ]; then
update_base_url=`jq -r .update_base_url $conffile`
if [ -z "$update_base_url" ]; then
echo "No update URL supplied. Use update_base_url: null if you really"
echo "want a build with no auto-update."
usage
exit
fi
# Make sure the base URL ends in a slash if it doesn't already
update_base_url=`echo $update_base_url | sed -e 's#\([^\/]\)$#\1\/#'`
fi
if [ ! -f package.json ]; then
echo "No package.json found. This script must be run from"
echo "the riot-web directory."
exit
fi
[ -f "$confdir/env.sh" ] && . "$confdir/env.sh"
if [ -z "$NOTARIZE_APPLE_ID" ]; then
echo "NOTARIZE_APPLE_ID is not set"
exit
fi
osslsigncode -h 2> /dev/null
if [ $? -ne 255 ]; then # osslsigncode exits with 255 after printing usage...
echo "osslsigncode not found"
exit
fi
# Test that altool can get its credentials for notarising the mac app
xcrun altool -u "$NOTARIZE_APPLE_ID" -p '@keychain:NOTARIZE_CREDS' --list-apps || exit
# Get the token password: we'll need it later, but get it now so we fail early if it's not there
token_password=`security find-generic-password -s riot_signing_token -w`
if [ $? -ne 0 ]; then
echo "riot_signing_token not found in keychain"
exit
fi
set -e
echo "Building $version using Update base URL $update_base_url"
projdir=`pwd`
builddir=`mktemp -d 2>/dev/null || mktemp -d -t 'buildtmp'`
pushd "$builddir"
git clone "$projdir" .
git checkout "$version"
# Figure out what version we're building
vername=`jq -r .version package.json`
if [ -n "$conffile" ]; then
popd
cp "$conffile" "$builddir/"
pushd "$builddir"
fi
# We use Git branch / commit dependencies for some packages, and Yarn seems
# to have a hard time getting that right. See also
# https://github.com/yarnpkg/yarn/issues/4734. As a workaround, we clean the
# global cache here to ensure we get the right thing.
yarn cache clean
yarn install
yarn build:electron
popd
distdir="$builddir/electron_app/dist"
pubdir="$projdir/electron_app/pub"
rm -r "$pubdir" || true
mkdir -p "$pubdir"
rm -r "$projdir/electron_app/dist" || true
mkdir -p "$projdir/electron_app/dist"
# Install packages: what the user downloads the first time,
# (DMGs for mac, exe installer for windows)
mkdir -p "$pubdir/install/macos"
cp $distdir/*.dmg "$pubdir/install/macos/"
mkdir -p "$pubdir/install/win32/ia32/"
cp $distdir/squirrel-windows-ia32/*.exe "$pubdir/install/win32/ia32/"
mkdir -p "$pubdir/install/win32/x64/"
cp $distdir/squirrel-windows/*.exe "$pubdir/install/win32/x64/"
# Packages for auto-update
mkdir -p "$pubdir/update/macos"
cp $distdir/*-mac.zip "$pubdir/update/macos/"
echo "$vername" > "$pubdir/update/macos/latest"
mkdir -p "$pubdir/update/win32/ia32/"
cp $distdir/squirrel-windows-ia32/*.nupkg "$pubdir/update/win32/ia32/"
cp $distdir/squirrel-windows-ia32/RELEASES "$pubdir/update/win32/ia32/"
mkdir -p "$pubdir/update/win32/x64/"
cp $distdir/squirrel-windows/*.nupkg "$pubdir/update/win32/x64/"
cp $distdir/squirrel-windows/RELEASES "$pubdir/update/win32/x64/"
# Move the deb to the main project dir's dist folder
# (just the 64 bit one - the 32 bit one still gets built because
# it's one arch argument for all platforms and we still want 32 bit
# windows, but 32 bit linux is unsupported as of electron 4 and no
# longer appears to work).
cp $distdir/*_amd64.deb "$projdir/electron_app/dist/"
rm -rf "$builddir"
echo "$pubdir can now be hosted on your web server."
echo "deb archives are in electron_app/dist/ - these should be added into your debian repository"

View File

@@ -0,0 +1,15 @@
const fsProm = require('fs').promises;
const path = require('path');
exports.default = async function(context) {
const { electronPlatformName, appOutDir } = context;
// Squirrel windows will try to relaunch the app using an executable of the same name as
// before in the new version, so will fail if the executable is now called something else.
// We add a fake Riot.exe that it can run which runs the real one.
// This also gets signed automatically, presumably because electron-build just looks for all
// exe files and signs them all...
if (electronPlatformName === 'win32') {
await fsProm.copyFile('build/rebrand_stub/rebrand_stub.exe', path.join(appOutDir, "Riot.exe"));
}
};

View File

@@ -24,7 +24,7 @@ function computeSignToolArgs(options, keyContainer) {
// so we don't have to hard-code this here
// fwiw https://stackoverflow.com/questions/17927895/automate-extended-validation-ev-code-signing
// is about the most useful resource on automating code signing...
args.push('/f', 'riot.im\\New_Vector_Ltd.pem');
args.push('/f', 'element.io\\New_Vector_Ltd.pem');
if (options.hash !== "sha1") {
args.push("/fd", options.hash);

View File

@@ -11,15 +11,15 @@ const needle = require('needle');
const riotDesktopPackageJson = require('../package.json');
const PUB_KEY_URL = "https://packages.riot.im/riot-release-key.asc";
const PACKAGE_URL_PREFIX = "https://github.com/vector-im/riot-web/releases/download/";
const PUB_KEY_URL = "https://packages.riot.im/element-release-key.asc";
const PACKAGE_URL_PREFIX = "https://github.com/vector-im/element-web/releases/download/";
const ASAR_PATH = 'webapp.asar';
const {setPackageVersion, setDebVersion} = require('./set-version.js');
async function getLatestDevelopUrl(bkToken) {
const buildsResult = await needle('get',
"https://api.buildkite.com/v2/organizations/matrix-dot-org/pipelines/riot-web/builds",
"https://api.buildkite.com/v2/organizations/matrix-dot-org/pipelines/element-web/builds",
{
branch: 'develop',
state: 'passed',
@@ -55,7 +55,7 @@ async function getLatestDevelopUrl(bkToken) {
let dlUrl;
let dlFilename;
for (const artifact of artifactsResult.body) {
if (artifact.filename && /^riot-.*\.tar.gz$/.test(artifact.filename)) {
if (artifact.filename && /^element-.*\.tar.gz$/.test(artifact.filename)) {
dlUrl = artifact.download_url;
dlFilename = artifact.filename;
break;
@@ -149,7 +149,7 @@ async function main() {
if (targetVersion === undefined) {
targetVersion = 'v' + riotDesktopPackageJson.version;
filename = 'riot-' + targetVersion + '.tar.gz';
filename = 'element-' + targetVersion + '.tar.gz';
url = PACKAGE_URL_PREFIX + targetVersion + '/' + filename;
} else if (targetVersion === 'develop') {
const buildKiteApiKey = process.env.BUILDKITE_API_KEY;
@@ -164,7 +164,7 @@ async function main() {
[filename, url] = await getLatestDevelopUrl(buildKiteApiKey);
verify = false; // develop builds aren't signed
} else {
filename = 'riot-' + targetVersion + '.tar.gz';
filename = 'element-' + targetVersion + '.tar.gz';
url = PACKAGE_URL_PREFIX + targetVersion + '/' + filename;
setVersion = true;
}
@@ -289,4 +289,4 @@ async function main() {
console.log("Done!");
}
main().then((ret) => process.exit(ret));
main().then((ret) => process.exit(ret)).catch(e => process.exit(1));

View File

@@ -1,7 +1,7 @@
hak
===
This tool builds native dependencies for riot-desktop. Here follows some very minimal
This tool builds native dependencies for element-desktop. Here follows some very minimal
documentation for it.
Goals:

View File

@@ -1,8 +1,8 @@
#!/bin/bash
docker inspect riot-desktop-dockerbuild 2> /dev/null > /dev/null
docker inspect element-desktop-dockerbuild 2> /dev/null > /dev/null
if [ $? != 0 ]; then
echo "Docker image riot-desktop-dockerbuild not found. Have you run yarn run docker:setup?"
echo "Docker image element-desktop-dockerbuild not found. Have you run yarn run docker:setup?"
exit 1
fi
@@ -17,4 +17,4 @@ docker run --rm -ti \
-v ${PWD}/docker/.gnupg:/root/.gnupg \
-v ~/.cache/electron:/root/.cache/electron \
-v ~/.cache/electron-builder:/root/.cache/electron-builder \
riot-desktop-dockerbuild "$@"
element-desktop-dockerbuild "$@"

View File

@@ -22,10 +22,10 @@ cp $confdir/conf_distributions $repodir/conf/distributions
pushd $repodir
for i in `cat conf/distributions | grep Codename | cut -d ' ' -f 2`
do
reprepro includedeb $i $distdir/riot-desktop_${ver}_amd64.deb
reprepro includedeb $i $distdir/element-desktop_${ver}_amd64.deb
done
tar cvzf $distdir/riot-desktop_repo_$ver.tar.gz .
tar cvzf $distdir/element-desktop_repo_$ver.tar.gz .
popd

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.
@@ -61,7 +60,7 @@ let Seshat;
let SeshatRecovery;
let ReindexError;
const seshatPassphrase = "DEFAULT_PASSPHRASE";
const seshatDefaultPassphrase = "DEFAULT_PASSPHRASE";
try {
const seshatModule = require('matrix-seshat');
@@ -99,15 +98,43 @@ if (argv["help"]) {
app.exit();
}
// Electron creates the user data directory (with just an empty 'Dictionaries' directory...)
// as soon as the app path is set, so pick a random path in it that must exist if it's a
// real user data directory.
function isRealUserDataDir(d) {
return fs.existsSync(path.join(d, 'IndexedDB'));
}
// check if we are passed a profile in the SSO callback url
let userDataPath;
const userDataPathInProtocol = getProfileFromDeeplink(argv["_"]);
if (userDataPathInProtocol) {
app.setPath('userData', userDataPathInProtocol);
userDataPath = userDataPathInProtocol;
} else if (argv['profile-dir']) {
app.setPath('userData', argv['profile-dir']);
} else if (argv['profile']) {
app.setPath('userData', `${app.getPath('userData')}-${argv['profile']}`);
userDataPath = argv['profile-dir'];
} else {
let newUserDataPath = app.getPath('userData');
if (argv['profile']) {
newUserDataPath += '-' + argv['profile'];
}
const newUserDataPathExists = isRealUserDataDir(newUserDataPath);
let oldUserDataPath = path.join(app.getPath('appData'), app.getName().replace('Element', 'Riot'));
if (argv['profile']) {
oldUserDataPath += '-' + argv['profile'];
}
const oldUserDataPathExists = isRealUserDataDir(oldUserDataPath);
console.log(newUserDataPath + " exists: " + (newUserDataPathExists ? 'yes' : 'no'));
console.log(oldUserDataPath + " exists: " + (oldUserDataPathExists ? 'yes' : 'no'));
if (!newUserDataPathExists && oldUserDataPathExists) {
console.log("Using legacy user data path: " + oldUserDataPath);
userDataPath = oldUserDataPath;
} else {
userDataPath = newUserDataPath;
}
}
app.setPath('userData', userDataPath);
async function tryPaths(name, root, rawPaths) {
// Make everything relative to root
@@ -154,7 +181,7 @@ async function setupGlobals() {
vectorConfig = require(asarPath + 'config.json');
} catch (e) {
// it would be nice to check the error code here and bail if the config
// is unparseable, but we get MODULE_NOT_FOUND in the case of a missing
// is unparsable, but we get MODULE_NOT_FOUND in the case of a missing
// file or invalid json, so node is just very unhelpful.
// Continue with the defaults (ie. an empty config)
vectorConfig = {};
@@ -182,16 +209,16 @@ async function setupGlobals() {
// The tray icon
// It's important to call `path.join` so we don't end up with the packaged asar in the final path.
const iconFile = `riot.${process.platform === 'win32' ? 'ico' : 'png'}`;
const iconFile = `element.${process.platform === 'win32' ? 'ico' : 'png'}`;
iconPath = path.join(resPath, "img", iconFile);
trayConfig = {
icon_path: iconPath,
brand: vectorConfig.brand || 'Riot',
brand: vectorConfig.brand || 'Element',
};
// launcher
launcher = new AutoLaunch({
name: vectorConfig.brand || 'Riot',
name: vectorConfig.brand || 'Element',
isHidden: true,
mac: {
useLaunchAgent: true,
@@ -199,6 +226,25 @@ async function setupGlobals() {
});
}
async function moveAutoLauncher() {
// Look for an auto-launcher under 'Riot' and if we find one, port it's
// enabled/disbaledp-ness over to the new 'Element' launcher
if (!vectorConfig.brand || vectorConfig.brand === 'Element') {
const oldLauncher = new AutoLaunch({
name: 'Riot',
isHidden: true,
mac: {
useLaunchAgent: true,
},
});
const wasEnabled = await oldLauncher.isEnabled();
if (wasEnabled) {
await oldLauncher.disable();
await launcher.enable();
}
}
}
const eventStorePath = path.join(app.getPath('userData'), 'EventStore');
const store = new Store({ name: "electron-config" });
@@ -207,6 +253,26 @@ let eventIndex = null;
let mainWindow = null;
global.appQuitting = false;
const deleteContents = async (p) => {
for (const entry of await afs.readdir(p)) {
const curPath = path.join(p, entry);
await afs.unlink(curPath);
}
};
async function randomArray(size) {
return new Promise((resolve, reject) => {
crypto.randomBytes(size, (err, buf) => {
if (err) {
reject(err);
} else {
resolve(buf.toString("base64").replace(/=+$/g, ''));
}
});
});
}
// handle uncaught errors otherwise it displays
// stack traces in popup dialogs, which is terrible (which
// it will do any time the auto update poke fails, and there's
@@ -319,57 +385,36 @@ 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;
case 'getPickleKey':
try {
ret = await keytar.getPassword("riot.im", `${args[0]}|${args[1]}`);
ret = await keytar.getPassword("element.io", `${args[0]}|${args[1]}`);
// migrate from riot.im (remove once we think there will no longer be
// logins from the time of riot.im)
if (ret === null) {
ret = await keytar.getPassword("riot.im", `${args[0]}|${args[1]}`);
}
} catch (e) {
// if an error is thrown (e.g. keytar can't connect to the keychain),
// then return null, which means the default pickle key will be used
@@ -379,17 +424,8 @@ ipcMain.on('ipcCall', async function(ev, payload) {
case 'createPickleKey':
try {
const randomArray = await new Promise((resolve, reject) => {
crypto.randomBytes(32, (err, buf) => {
if (err) {
reject(err);
} else {
resolve(buf);
}
});
});
const pickleKey = randomArray.toString("base64").replace(/=+$/g, '');
await keytar.setPassword("riot.im", `${args[0]}|${args[1]}`, pickleKey);
const pickleKey = await randomArray(32);
await keytar.setPassword("element.io", `${args[0]}|${args[1]}`, pickleKey);
ret = pickleKey;
} catch (e) {
ret = null;
@@ -398,6 +434,9 @@ ipcMain.on('ipcCall', async function(ev, payload) {
case 'destroyPickleKey':
try {
await keytar.deletePassword("element.io", `${args[0]}|${args[1]}`);
// migrate from riot.im (remove once we think there will no longer be
// logins from the time of riot.im)
await keytar.deletePassword("riot.im", `${args[0]}|${args[1]}`);
} catch (e) {}
break;
@@ -440,28 +479,86 @@ ipcMain.on('seshat', async function(ev, payload) {
case 'initEventIndex':
if (eventIndex === null) {
try {
await afs.mkdir(eventStorePath, {recursive: true});
eventIndex = new Seshat(eventStorePath, {passphrase: seshatPassphrase});
} catch (e) {
if (e instanceof ReindexError) {
// If this is a reindex error, the index schema
// changed. Try to open the database in recovery mode,
// reindex the database and finally try to open the
// database again.
try {
const recoveryIndex = new SeshatRecovery(eventStorePath, {
passphrase: seshatPassphrase,
});
await recoveryIndex.reindex();
eventIndex = new Seshat(eventStorePath, {
passphrase: seshatPassphrase,
});
} catch (e) {
sendError(payload.id, e);
return;
const userId = args[0];
const deviceId = args[1];
const passphraseKey = `seshat|${userId}|${deviceId}`;
let changePassphrase = false;
let passphrase = seshatDefaultPassphrase;
if (keytar) {
try {
// Try to get a passphrase for seshat.
const storedPassphrase = await keytar.getPassword("element.io", passphraseKey);
// If no passphrase was found mark that we should change
// it, if one is found, use that one.
if (storedPassphrase === null) {
changePassphrase = true;
} else {
passphrase = storedPassphrase;
}
} else {
} catch (e) {
console.log("Error getting the event index passphrase out of the secret store", e);
}
}
const openSeshat = async () => {
try {
await afs.mkdir(eventStorePath, {recursive: true});
return new Seshat(eventStorePath, {passphrase});
} catch (e) {
if (e instanceof ReindexError) {
// If this is a reindex error, the index schema
// changed. Try to open the database in recovery mode,
// reindex the database and finally try to open the
// database again.
const recoveryIndex = new SeshatRecovery(eventStorePath, {
passphrase,
});
const userVersion = await recoveryIndex.getUserVersion();
// If our user version is 0 we'll delete the db
// anyways so reindexing it is a waste of time.
if (userVersion === 0) {
await recoveryIndex.shutdown();
try {
await deleteContents(eventStorePath);
} catch (e) {
}
} else {
await recoveryIndex.reindex();
}
return new Seshat(eventStorePath, {passphrase});
} else {
throw (e);
}
}
};
try {
eventIndex = await openSeshat();
} catch (e) {
sendError(payload.id, e);
return;
}
if (changePassphrase) {
try {
// Generate a new random passphrase.
const newPassphrase = await randomArray(32);
await keytar.setPassword("element.io", passphraseKey, newPassphrase);
// Set the new passphrase, this will close the event
// index.
await eventIndex.changePassphrase(newPassphrase);
// Re-open the event index with the new passphrase.
eventIndex = new Seshat(eventStorePath, {newPassphrase});
} catch (e) {
sendError(payload.id, e);
return;
}
@@ -485,15 +582,8 @@ ipcMain.on('seshat', async function(ev, payload) {
case 'deleteEventIndex':
{
const deleteFolderRecursive = async (p) => {
for (const entry of await afs.readdir(p)) {
const curPath = path.join(p, entry);
await afs.unlink(curPath);
}
};
try {
await deleteFolderRecursive(eventStorePath);
await deleteContents(eventStorePath);
} catch (e) {
}
}
@@ -505,6 +595,11 @@ ipcMain.on('seshat', async function(ev, payload) {
else ret = await eventIndex.isEmpty();
break;
case 'isRoomIndexed':
if (eventIndex === null) ret = false;
else ret = await eventIndex.isRoomIndexed(args[0]);
break;
case 'addEventToIndex':
try {
eventIndex.addEvent(args[0], args[1]);
@@ -613,6 +708,30 @@ ipcMain.on('seshat', async function(ev, payload) {
}
break;
case 'setUserVersion':
if (eventIndex === null) break;
else {
try {
await eventIndex.setUserVersion(args[0]);
} catch (e) {
sendError(payload.id, e);
return;
}
}
break;
case 'getUserVersion':
if (eventIndex === null) ret = 0;
else {
try {
ret = await eventIndex.getUserVersion();
} catch (e) {
sendError(payload.id, e);
return;
}
}
break;
default:
mainWindow.webContents.send('seshatReply', {
id: payload.id,
@@ -666,6 +785,7 @@ app.enableSandbox();
app.on('ready', async () => {
try {
await setupGlobals();
await moveAutoLauncher();
} catch (e) {
console.log("App setup failed: exiting", e);
process.exit(1);
@@ -775,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,
},
@@ -864,4 +980,4 @@ app.on('second-instance', (ev, commandLine, workingDirectory) => {
// installer uses for the shortcut icon.
// This makes notifications work on windows 8.1 (and is
// a noop on other platforms).
app.setAppUserModelId('com.squirrel.riot-web.Riot');
app.setAppUserModelId('com.squirrel.element-desktop.Element');

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;
},
},
);

View File

@@ -18,8 +18,8 @@ const {app} = require("electron");
const path = require("path");
const fs = require("fs");
const PROTOCOL = "riot://";
const SEARCH_PARAM = "riot-desktop-ssoid";
const PROTOCOL = "element://";
const SEARCH_PARAM = "element-desktop-ssoid";
const STORE_FILE_NAME = "sso-sessions.json";
// we getPath userData before electron-main changes it, so this is the default value
@@ -61,10 +61,10 @@ module.exports = {
},
getProfileFromDeeplink: (args) => {
// check if we are passed a profile in the SSO callback url
const deeplinkUrl = args.find(arg => arg.startsWith('riot://'));
const deeplinkUrl = args.find(arg => arg.startsWith('element://'));
if (deeplinkUrl && deeplinkUrl.includes(SEARCH_PARAM)) {
const parsedUrl = new URL(deeplinkUrl);
if (parsedUrl.protocol === 'riot:') {
if (parsedUrl.protocol === 'element:') {
const ssoID = parsedUrl.searchParams.get(SEARCH_PARAM);
const store = readStore();
console.log("Forwarding to profile: ", store[ssoID]);
@@ -78,10 +78,10 @@ module.exports = {
// --profile/--profile-dir are passed via the SEARCH_PARAM var in the callback url
const args = process.argv.slice(1).filter(arg => arg !== "--hidden" && arg !== "-hidden");
if (app.isPackaged) {
app.setAsDefaultProtocolClient('riot', process.execPath, args);
app.setAsDefaultProtocolClient('element', process.execPath, args);
} else if (process.platform === 'win32') { // on Mac/Linux this would just cause the electron binary to open
// special handler for running without being packaged, e.g `electron .` by passing our app path to electron
app.setAsDefaultProtocolClient('riot', process.execPath, [app.getAppPath(), ...args]);
app.setAsDefaultProtocolClient('element', process.execPath, [app.getAppPath(), ...args]);
}
if (process.platform === 'darwin') {

View File

@@ -17,17 +17,20 @@ limitations under the License.
const path = require('path');
const spawn = require('child_process').spawn;
const {app} = require('electron');
const fsProm = require('fs').promises;
function runUpdateExe(args, done) {
function runUpdateExe(args) {
// Invokes Squirrel's Update.exe which will do things for us like create shortcuts
// Note that there's an Update.exe in the app-x.x.x directory and one in the parent
// directory: we need to run the one in the parent directory, because it discovers
// information about the app by inspecting the directory it's run from.
const updateExe = path.resolve(path.dirname(process.execPath), '..', 'Update.exe');
console.log(`Spawning '${updateExe}' with args '${args}'`);
spawn(updateExe, args, {
detached: true,
}).on('close', done);
return new Promise(resolve => {
spawn(updateExe, args, {
detached: true,
}).on('close', resolve);
});
}
function checkSquirrelHooks() {
@@ -36,10 +39,42 @@ function checkSquirrelHooks() {
const cmd = process.argv[1];
const target = path.basename(process.execPath);
if (cmd === '--squirrel-install' || cmd === '--squirrel-updated') {
runUpdateExe(['--createShortcut=' + target + ''], app.quit);
Promise.resolve().then(() => {
return runUpdateExe(['--createShortcut=' + target]);
}).then(() => {
// remove the old 'Riot' shortcuts, if they exist (update.exe --removeShortcut doesn't work
// because it always uses the name of the product as the name of the shortcut: the only variable
// is what executable you're linking to)
const appDataDir = process.env.APPDATA;
if (!appDataDir) return;
const startMenuDir = path.join(
appDataDir, 'Microsoft', 'Windows', 'Start Menu', 'Programs', 'New Vector Ltd',
);
return fsProm.rmdir(startMenuDir, { recursive: true });
}).then(() => {
// same for 'Element (Riot) which is old now too (we have to try to delete both because
// we don't know what version we're updating from, but of course we do know this version
// is 'Element' so the two old ones are all safe to delete).
const appDataDir = process.env.APPDATA;
if (!appDataDir) return;
const oldStartMenuLink = path.join(
appDataDir, 'Microsoft', 'Windows', 'Start Menu', 'Programs', 'Element', 'Element (Riot).lnk',
);
return fsProm.unlink(oldStartMenuLink).catch(() => {});
}).then(() => {
const oldDesktopShortcut = path.join(app.getPath('desktop'), 'Element (Riot).lnk');
return fsProm.unlink(oldDesktopShortcut).catch(() => {});
}).then(() => {
const oldDesktopShortcut = path.join(app.getPath('desktop'), 'Riot.lnk');
return fsProm.unlink(oldDesktopShortcut).catch(() => {});
}).then(() => {
app.quit();
});
return true;
} else if (cmd === '--squirrel-uninstall') {
runUpdateExe(['--removeShortcut=' + target + ''], app.quit);
runUpdateExe(['--removeShortcut=' + target]).then(() => {
app.quit();
});
return true;
} else if (cmd === '--squirrel-obsolete') {
app.quit();

View File

@@ -88,7 +88,7 @@ exports.create = function(config) {
// Windows likes ico's too much.
if (process.platform === 'win32') {
try {
const icoPath = path.join(app.getPath('temp'), 'win32_riot_icon.ico');
const icoPath = path.join(app.getPath('temp'), 'win32_element_icon.ico');
fs.writeFileSync(icoPath, await pngToIco(newFavicon.toPNG()));
newFavicon = nativeImage.createFromPath(icoPath);
} catch (e) {

View File

@@ -62,8 +62,8 @@ const template = [
role: 'help',
submenu: [
{
label: 'Riot Help',
click() { shell.openExternal('https://about.riot.im/help'); },
label: 'Element Help',
click() { shell.openExternal('https://element.io/help'); },
},
],
},

View File

@@ -1,7 +1,8 @@
const {clipboard, nativeImage, Menu, MenuItem, shell, dialog} = require('electron');
const {clipboard, nativeImage, Menu, MenuItem, shell, dialog, ipcMain} = require('electron');
const url = require('url');
const fs = require('fs');
const request = require('request');
const path = require('path');
const MAILTO_PREFIX = "mailto:";
@@ -56,7 +57,7 @@ function onLinkContextMenu(ev, params) {
// Avoid showing a context menu for app icons
if (params.hasImageContents) return;
// Rewrite URL so that it can be used outside of the app
url = "https://riot.im/app/" + url.substring(23);
url = "https://app.element.io/" + url.substring(23);
}
const popupMenu = new Menu();
@@ -205,6 +206,9 @@ function onEditableContextMenu(ev, params) {
ev.preventDefault();
}
ipcMain.on('userDownloadOpen', function(ev, {path}) {
shell.openPath(path);
});
module.exports = (webContents) => {
webContents.on('new-window', onWindowOrNavigate);
@@ -222,4 +226,16 @@ module.exports = (webContents) => {
onEditableContextMenu(ev, params);
}
});
webContents.session.on('will-download', (event, item) => {
item.once('done', (event, state) => {
if (state === 'completed') {
const savePath = item.getSavePath();
webContents.send('userDownloadCompleted', {
path: savePath,
name: path.basename(savePath),
});
}
});
});
};

2931
yarn.lock
View File

File diff suppressed because it is too large Load Diff