Commit graph

117 commits

Author SHA1 Message Date
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
Alexey Murz Korepov
c6bc20cd2a Fix menu on change keyboard language issue #4345
Fix activating menu when changing keyboard language / layout  via Alt-Shift, Alt-Ctrl, Alt-CapsLock, and Alt-Space
2017-07-18 09:23:32 +03:00
Richard van der Hoff
cc56ef3abd Attempt to flush the rageshake logs on close
... so that we get to see what happened in the last 30s.
2017-06-22 18:25:19 +01:00
Michael Telatynski
0788826a71 Merge branches 'develop' and 't3chguy/updating_stuff' of github.com:vector-im/riot-web into t3chguy/updating_stuff
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

# Conflicts:
#	electron_app/src/tray.js
2017-06-22 15:04:33 +01:00
Michael Telatynski
499b1c2e70 add missing semicolon 2017-06-20 14:05:17 +01:00
Michael Telatynski
78068bfaa0 explicit convert to nativeImage to stabilise on Windows
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-19 11:58:44 +01:00
Michael Telatynski
b6d2ba2019 store window ref globally so when splitting files its easier to access.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-12 13:50:45 +01:00
Michael Telatynski
deb7ed660c Merge branch 'develop' of github.com:vector-im/riot-web into t3chguy/updating_stuff 2017-06-11 23:13:49 +01:00
Michael Telatynski
a520f0bfed move all logic, make bar more generic
pass through actual errors
and tidy
needs testing

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-11 19:19:17 +01:00
Michael Telatynski
c4fd139586 get rid of pointless interval and timeout on linux
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-11 16:46:47 +01:00
Michael Telatynski
4c8ff0955d move electron update logic into own file, tidy tidy tidy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-11 16:44:36 +01:00
Matthew Hodgson
7b9ae0157a Merge pull request #4183 from vector-im/t3chguy/electron_logo_windows_weirdness
to make the windows volume mixer not explode as it can't resize icons.
2017-06-04 22:58:17 +01:00
Michael Telatynski
f24c6de245
provide react devtools in electron dev builds
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-04 15:30:44 +01:00
Michael Telatynski
1e5a742602 this actually fixes things, still not happy with it, introduces more delay
(not noticeably more than the existing delay)

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-04 14:27:19 +01:00
Michael Telatynski
25a0af6ddb to make the windows volume mixer not explode as it can't resize icons.
I hate Windows.

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-04 11:05:28 +01:00
Michael Telatynski
efc68c078e basic manual update stuff + update check bar
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-03 15:59:12 +01:00
Matthew Hodgson
21cf79bc54 Merge pull request #4030 from vector-im/t3chguy/electron_profiles
basic electron profile support
2017-06-01 01:33:01 +01:00
Michael Telatynski
5762323bd1 Merge branch 'develop' into t3chguy/electron_profiles 2017-06-01 00:01:53 +01:00
Michael Telatynski
33ee42f821 use loudNotification for flashFrame, resetting on count=0 or focus
win32 check is optional just there so we're not attaching pointless handlers

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-01 00:00:00 +01:00
Michael Telatynski
53b7b6cb14 Merge branch 't3chguy/electron_settings' of github.com:vector-im/riot-web into t3chguy/electron_settings 2017-05-30 12:34:05 +01:00
Michael Telatynski
c54e2a30b6 explicitly hide because setApplicationMenu on Linux otherwise shows...
https://github.com/electron/electron/issues/9621

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-30 12:33:32 +01:00
Michael Telatynski
db602f2bc0 Merge branch 'develop' into t3chguy/electron_profiles 2017-05-30 11:00:51 +01:00
Michael Telatynski
b27600adbe Improve for Mac - Tested on 10.10.5 2017-05-30 10:53:01 +01:00
Michael Telatynski
9c25aab509 Fix bad merge (3993 before 4021 broke things)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-29 22:12:36 +01:00
Michael Telatynski
1d2bd68200 Merge branch 'develop' of github.com:vector-im/riot-web into t3chguy/electron_settings 2017-05-29 22:12:06 +01:00
Matthew Hodgson
ff5adeff2c Merge branch 'develop' into t3chguy/tidy_electron_files 2017-05-26 18:50:48 +01:00
Matthew Hodgson
445a55c7ca Merge pull request #3992 from vector-im/t3chguy/electron_call_sleep
Prevent Power Save when in call (Electron)
2017-05-26 18:44:53 +01:00
Michael Telatynski
e63baf62c4 quit -> exit as screen is not accessible in alt instance
when using makeSingleInstance
which leads to a weird error
Unhandled exception { Error: Cannot find module '../screen'

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-26 09:49:23 +01:00
Michael Telatynski
0fb6a305a3 uber basic multi-profile support for electron app
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-26 09:48:32 +01:00
Michael Telatynski
727e267853 we don't really need a webContents like that, so pass if needed
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-25 12:47:36 +01:00
Michael Telatynski
c4c78c9b3e split webContents context handling into own file, as main was growing
add handlers for editable fields, with Cut Copy Paste Undo Redo etc
add Copy Image feature to all images, working on not only the download
buttons now

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-25 12:42:53 +01:00
Michael Telatynski
a98792b05e auto-launch support, ux =checkbox in UserSettings[Electron]
settings are sorta generic, probably reusable for proxy settings

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-24 15:52:08 +01:00
Michael Telatynski
8994c2bad1 missed a concat :)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-22 19:28:01 +01:00
Michael Telatynski
e0fb2fd074 /me forgets we don't have babel
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-22 19:25:56 +01:00
Michael Telatynski
4bb054c955 electron stuff isn't actually using flow, so don't enable it
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-22 19:25:18 +01:00
Michael Telatynski
911c3bcf6e tidy electron files, they were starting to annoy me
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-22 19:21:52 +01:00
Michael Telatynski
4944bfdaa2 onAction support in Electron process, disable powersave when in call
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-22 18:32:39 +01:00
David Baker
a9b5282ba3 Merge pull request #3909 from vector-im/t3chguy/favicon_improvements
Electron Tray Improvements
2017-05-19 16:22:11 +01:00
David Baker
dfb30e91de Desktop: 'copy link address'
Add 'copy link address' to link context menu in electron app
2017-05-18 11:32:10 +01:00
Michael Telatynski
9352e5d78e Lets make it abundantly clear that we want attention. FLASH FLASH FLASH
also improve favicon updating to not change if we're same as previous
not sure how intensive the nativeImage stuff is but cheap efficiency

For FLASH FLASH I moved the setBadgeCount stuff RPC -> IPC
should be more reliable now, its in electron-main
Win only:
if mainWindow is set and is not in focus make it FLASH
clear flash if notification gets cleared elsewhere
debounce focus handler so we don't set a million of them
if the app is backgrounded a while

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-17 10:39:43 +01:00
Michael Telatynski
826a571b60 apply same image to the window/taskbar too; as per request
LETS MAKE IT CLEAR WE ARE NEEDY AND WANT ATTENTION

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-17 10:05:50 +01:00
Michael Telatynski
aa7728cad3 tidy up tray.js - it made my eyes hurt
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-13 12:41:13 +01:00
Michael Telatynski
808240eef9 shouldn't need this try-catch
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-13 12:40:17 +01:00
Michael Telatynski
6aae97b812 Update tray tooltip based on document.title
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-13 12:39:55 +01:00
Michael Telatynski
bbda658b7f make Electron tray icon mimic the Favico.js one
DRY: moved Favicon stuff into the base platform

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-13 12:37:13 +01:00
Michael Telatynski
c607b1bc89 npm is "smart" enough to try and install our electron wrapper as a module
instead of the actual electron package. With no way to ignore directories.
I'd like to think of this as temporary, until I get to rip apart riot-web
and riot-electron

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-10 13:36:27 +01:00