Commit graph

95 commits

Author SHA1 Message Date
Travis Ralston
6bf03415ac Let the user's homeserver config override the build config
Specifically for the desktop app to prevent the warning about too many homeservers defined.
2019-11-18 09:11:05 -07:00
Michael Telatynski
03887f9d1b Fix close window behaviour on Macos 2019-11-04 18:02:33 +00:00
Michael Telatynski
eab6ffe7db
Merge pull request #11258 from vector-im/t3chguy/hide_tray_icon
Add ability to hide tray icon on non-Mac (which has no tray icon)
2019-10-30 16:31:47 +00:00
Michael Telatynski
cb5ef44d3f Remove outdated workaround which on modern electron makes window not show 2019-10-30 14:33:20 +00:00
Michael Telatynski
9820e59559 Merge hide-to-tray-icon with show-tray-icon 2019-10-30 14:32:28 +00:00
David Baker
cc840df352 Fix bug preventing display from sleeping after a call
Calls often transition from connected to connected after transitioning
into the connected state (when the ICE layer connects) so we ended up
creating two wake locks and then only stopping one of them.

Don't make another wake lock if we already have one.

Hopefully fixes https://github.com/vector-im/riot-web/issues/6814
2019-10-30 10:58:34 +00:00
Michael Telatynski
4b0fa940bb revert icon path change 2019-10-29 12:00:40 +00:00
Michael Telatynski
1498872214 Add ability to hide tray icon on non-Mac (which has no tray icon) 2019-10-29 11:37:42 +00:00
RiotRobot
6bd089c350 Merge branch 'master' into develop 2019-09-19 17:54:39 +01:00
David Baker
42b756952e
Typo
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com>
2019-09-19 17:42:43 +01:00
David Baker
6464bfe850 Remove the other listener when one fires 2019-09-19 17:41:08 +01:00
David Baker
835d7bfb9d Fix origin migrator for SSO logins
For some reason this was trying to close the same window twice
when the app was reloaded after an SSO login. Possibly also a
problem on electron < 6 - presumably a race condition.
2019-09-19 17:20:54 +01:00
Michael Telatynski
906045b215
Merge pull request #10530 from vector-im/t3chguy/electron_help
Add --help to electron app
2019-08-09 17:02:51 +01:00
Michael Telatynski
12f087401b Add --help to electron app
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-09 12:08:56 +01:00
Michael Telatynski
509839e79e Allow setting electron autoHideMenuBar and persist it
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-05 11:58:16 +01:00
J. Ryan Stinnett
88e8fbb39a Upgrade to Electron 5
The APIs related to custom protocols went through some changes for Electron 5.x,
so adjusts Riot's usages to match.

I have scanned the Electron 5.x release notes, and I can't see anything else
that requires immediate changes. Things appear to be working well after the
upgrade.

Fixes https://github.com/vector-im/riot-web/issues/10296
Fixes https://github.com/vector-im/riot-web/issues/9562
2019-07-22 15:38:08 +01:00
Michael Telatynski
320f3198ea Fix Electron vector: links
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-27 20:33:15 +01:00
Michael Telatynski
974797648f Move config-getting to VectorBasePlatform
in Electron get config via IPC from main process
which has access to the "local" config.json override file
and can make people happy :D

Remove bunch of duplicated code,
and move comments around to put them in the right place

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-26 21:08:04 +01:00
J. Ryan Stinnett
292427c275 Move default Electron icons outside asar
Electron doesn't seem to want to load icons from within `asar`s, so this changes
the default icons (used for window and tray) so that they are just regular files
on disk and updates the reference to match.

Part of https://github.com/vector-im/riot-web/issues/9897
2019-06-18 16:58:43 +01:00
J. Ryan Stinnett
f10e7ac224 Fix reference to main window when setting Electron window icon
This fixes the fallback path which sets the Electron window icon to the default
icon in case there's no data URI based icon coming content. This is true
immediately after startup, for example.

Part of https://github.com/vector-im/riot-web/issues/9897
2019-06-18 14:31:19 +01:00
pacien
2c9b51f29d Add support for custom profile directory
A custom user data directory can now be specified using the "profile-dir"
command line argument.

Github ref: closes #6175

Signed-off-by: Pacien TRAN-GIRARD <pacien.trangirard@pacien.net>
2019-04-09 19:35:14 +02:00
Travis Ralston
f36a24fef0 Fix autolaunch setting appearing toggled off
Fixes https://github.com/vector-im/riot-web/issues/9123

The value used here is a function which returns a promise, not a flag.
2019-04-02 17:59:47 -06:00
Travis Ralston
8b2d33ac0a Don't try to save files the user didn't want to save
Fixes https://github.com/vector-im/riot-web/issues/9350
2019-04-01 13:24:17 -06:00
Travis Ralston
866f8f54ec Add "Save image as..." button to context menu on images
Fixes https://github.com/vector-im/riot-web/issues/9324
Requires https://github.com/matrix-org/matrix-react-sdk/pull/2848
2019-03-29 14:57:02 -06:00
Aaron Raimist
b40ed7cb11
Update Electron help menu link
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2019-03-13 14:43:24 -05:00
Michael Telatynski
0e0c1cfad3 Add support for localConfig at $appData/config.json.
Move electron-config to $appData/electron-config.json

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-02-28 00:17:33 +00:00
Travis Ralston
a5a4c167e8
Merge pull request #8911 from vector-im/t3chguy/no-update
Allow disabling update mechanism
2019-02-24 18:00:54 -07:00
Michael Telatynski
ffacf30722 Allow disabling update mechanism
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-02-24 04:52:07 +00:00
Michael Telatynski
714570443d Allow configuration of whether closing window closes or minimizes to tray
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-02-24 01:08:01 +00:00
Aaron Raimist
a03a738317
Only allow Electron to zoom with CommandOrControl+=
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2019-02-06 13:20:40 -06:00
Aaron Raimist
bfdffc653e
Allow Electron to zoom with CommandOrControl+=
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2019-02-02 15:53:10 -06:00
David Baker
2aaed5d4c3 Doc broken will-navigate listener 2019-01-24 11:36:36 +00:00
Michael Telatynski
8c895cd435 Correct the copying of e-mail addresses in the electron app
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-01-15 08:37:01 +00:00
David Baker
62a49af23f Only serve origin migrator whilst migrating
as per comment
2018-12-21 22:21:06 +00:00
David Baker
751a1dc543 Add tool to migrate logins between origins
App checks at startup for an existing session, if there isn't one,
it will start the tool to check for a login in the file:// origin.
If there is one, it will copy the login over to the vector://vector
origin.

In principle this could also be used to migrate logins between
other origins on the web if this were ever required.

This includes a minified copy of the browserified js-sdk with
a getAllEndToEndSessions() function added to the crypto store
(https://github.com/matrix-org/matrix-js-sdk/pull/812). This is
not great, but for a short-lived tool this seems better than
introducing more entry points into webpack only used for the
electron app.
2018-12-21 19:14:25 +00:00
David Baker
b6d70f4434 Missing include 2018-12-19 12:25:32 +00:00
David Baker
fc4e1485ad Electron: Load app from custom protocol
This puts the app into its own origin so it doesn't have access
to the filesystem via file:// URIs.

Next step: migrate over localstorage & indexeddb data from the old
origin...
2018-12-19 12:04:40 +00:00
David Baker
b35903bb19
Merge pull request #7907 from vector-im/dbkr/electron_sandbox
Run the Desktop app in a sandbox
2018-12-19 09:48:10 +00:00
David Baker
60d3076038 Update to new electron single instance API 2018-12-18 18:10:09 +00:00
David Baker
19f1489c92 Run the Desktop app in a sandbox
* Turn off node integration in the electron renderer process
 * Enable the chromium sandbox to put the renderer into its own process
 * Expose just the ipc module with a preload script
 * Introduce a little IPC call wrapper so we can call into the
   renderer process and await on the result.
 * Use this in a bunch of places we previously used direct calls
   to electron modules.
 * Convert other uses of node, eg. use of process to derive the
   platform (just look at the user agent)
 * Strip out the desktopCapturer integration which doesn't appear
   to have ever worked (probably best to just wait until
   getDisplayMedia() is available in chrome at this point:
   https://github.com/vector-im/riot-web/issues/4880).
2018-12-18 17:42:55 +00:00
Michael Telatynski
e0bb6183a6
remove debug log
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-05-26 14:37:04 +01:00
Michael Telatynski
20dd2c0b58
tidy code
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-05-26 14:36:25 +01:00
Michael Telatynski
8a4a6b2023
refactor hidden logic to be more resilient against electron weirdness
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-05-26 14:21:38 +01:00
Michael Telatynski
ca2533cafa
delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-05-26 14:00:45 +01:00
David Baker
38c295427a Hide URL options for e2e blob: URL images
These won't work outside of the electron app so there is zero point
in trying to open them in an external browser or offerring to copy
them to the clipboard
2018-05-18 12:00:55 +01:00
David Baker
6722eedf7a Comment why we're passing empty objects in 2018-05-18 11:42:40 +01:00
David Baker
e857ab762c Fix right click menu in electron
Fixes https://github.com/vector-im/riot-web/issues/6762
2018-05-18 11:30:05 +01:00
Michael Telatynski
d97224e69e
fix really dumb blunder/typo preventing system from going to sleep.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-19 00:53:44 +01:00
Michael Telatynski
61d9c1a57a
Merge remote-tracking branch 'remotes/origin/develop' into patch-1 2017-08-24 10:07:04 +01:00
Michael Telatynski
a6d5158830
electron support for mouse forward/back buttons in Windows
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-03 15:03:50 +01:00