Commit Graph

666 Commits (t3chguy/feat/modal-widgets)

Author SHA1 Message Date
Michael Telatynski f6ad5bf54c let settled accept multiple proms + i18n
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 20:12:05 +01:00
Michael Telatynski 2837c41ca4 factor out config error handling
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 20:03:45 +01:00
Michael Telatynski 4954c732ee extract config error handling out of app.js
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 19:47:52 +01:00
Michael Telatynski 6a5268f09b fix loadConfig
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 19:36:06 +01:00
Michael Telatynski 7633009ddb clean up loadConfig
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 19:35:16 +01:00
Michael Telatynski e267086a17 Parallelize loadSkin
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 19:21:39 +01:00
Michael Telatynski b3780445d3 fix typescript types
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 16:31:58 +01:00
Michael Telatynski 7113fe7e31 comments
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 16:24:40 +01:00
Michael Telatynski 719865c033 parallel load language and theme
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 16:17:46 +01:00
Michael Telatynski 2c5664b76e move config loading into index for parallelism
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 16:12:36 +01:00
Michael Telatynski 43357fe842 reorder
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 16:10:44 +01:00
Michael Telatynski 6222546e20 prepare platform earlier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 16:09:47 +01:00
Michael Telatynski 0b032d7434 loadOlm earlier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 16:08:39 +01:00
Michael Telatynski 1b9112b876 Revert "Combine two async imports into one by way of skin.ts"
This reverts commit e788433c

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-06 12:24:56 +01:00
Michael Telatynski e788433c24 Combine two async imports into one by way of skin.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-06 12:22:20 +01:00
Michael Telatynski b1575524aa Switch things to typescript, use @types/modernizr, fix global.d.ts. Move mobile_guide redirect to index.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-05 00:55:36 +01:00
Michael Telatynski 093b7bbf72 convert index.js to typescript
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-05 00:27:59 +01:00
Michael Telatynski 20442413bf remove future error handling path
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-05 00:12:37 +01:00
Michael Telatynski d429756094 delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-05 00:08:31 +01:00
Michael Telatynski b5318b4ebc fix global.d.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-05 00:05:59 +01:00
Michael Telatynski 4b6164d823 iterate app load order tweaks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-04 23:42:19 +01:00
Michael Telatynski 37ed89c25f move rageshake init into init.ts to allow for code-splitting
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-04 17:34:33 +01:00
Michael Telatynski 7b930da343 Make app load more async
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-04 17:21:59 +01:00
Michael Telatynski 8ca9e4ccb1 Fix Electron SSO handling to support multiple profiles
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-04 00:22:15 +01:00
Michael Telatynski a377ca7b85
Merge pull request #13020 from vector-im/t3chguy/fix_mac_shortcut
Fix Electron mac-specific shortcut being registered on Web too.
2020-04-03 13:23:13 +01:00
Michael Telatynski c1da3bf537 Fix Electron mac-specific shortcut being registered on Web too.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-03 13:01:28 +01:00
Travis Ralston ab29ec123e
Merge pull request #12968 from vector-im/travis/jitsi-errors
Add a console warning that errors from Jitsi Meet are fine
2020-04-01 10:54:06 -06:00
David Baker 0bf05e3c7b Make widget API use optional
So we can work when popped out into a browser
2020-04-01 11:08:53 +01:00
David Baker 421fcb115f Give the jitsi wrapper its own external api script 2020-04-01 10:38:49 +01:00
Travis Ralston 13a7b71e08 Add a console warning that errors from Jitsi Meet are fine
See diff for info.

We use the fragment to avoid sending conference information to the web server where possible.
2020-03-31 12:19:17 -06:00
Travis Ralston d9fbbe1696
Merge pull request #12861 from mnoorenberghe/patch-1
Don't immediately remove notifications from notification trays
2020-03-26 09:33:11 -06:00
Michael Telatynski fd385f8450 simplify loadConfig
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-25 14:37:28 +00:00
Michael Telatynski 92d8ee355d merge initial-load.ts into init.ts as its no longer used by Jitsi
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-25 14:32:37 +00:00
Michael Telatynski 1f94b25d25 Fix copyrights
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-25 14:28:07 +00:00
Michael Telatynski 8929cd9c08 Merge branches 'develop' and 't3chguy/app_load_tweaks' of github.com:vector-im/riot-web into t3chguy/app_load_tweaks 2020-03-25 14:26:48 +00:00
Michael Telatynski 6315907585 Typescript stuff.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-25 14:07:22 +00:00
Michael Telatynski 6fb9fc4e6f move loadLanguage to init.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-25 13:55:25 +00:00
Michael Telatynski df2b966acd move loadOlm to init.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-25 13:54:02 +00:00
Michael Telatynski e669c681e2 Fetch both config.json-s at the same time, first one fails 99% of the time
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-25 12:39:42 +00:00
Matt N b8ca1f920e
Don't immediately remove notifications from notification trays
Let the notifications go into browser/OS notification trays so users can click on them from there if they miss the initial notification. Modern Chrome uses OS notifications so the user is in control of the the notification with the OS. This also aligns with the Electron platform version.

Signed-off-by: Matthew Noorenberghe <github@matthew.noorenberghe.com>
2020-03-24 17:27:14 -07:00
Travis Ralston bde5679d11 Ask for Riot config over postMessage for the Jitsi widget
Fixes https://github.com/vector-im/riot-web/issues/12839 by not using the app load order that doesn't detect the right platform anyways.
2020-03-24 09:54:15 -06:00
Travis Ralston 4087ba0c5c
Revert "Remove useless app preloading from Jitsi widget wrapper" 2020-03-24 09:14:59 -06:00
Travis Ralston 350a52b44e Remove useless app preloading from Jitsi widget wrapper
We should always have conference information, and if we don't then the widget is invalid.
2020-03-23 10:38:10 -06:00
Michael Telatynski 3d266cb237 Register Mac electron specific Cmd+, shortcut to User Settings
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-19 23:42:10 +00:00
Travis Ralston 09e26d0882 Misc case changes, comment updates 2020-03-19 11:47:43 -06:00
Travis Ralston e1eb16ce46 Use a local widget wrapper for Jitsi calls
Effectively fixes https://github.com/vector-im/riot-web/issues/11074
Effectively fixes https://github.com/vector-im/riot-web/issues/7112
Fixes https://github.com/vector-im/riot-web/issues/6930
Fixes Jitsi widgets not working for guests (https://github.com/vector-im/riot-web/issues/8933)
Fixes https://github.com/vector-im/riot-web/issues/5048

Previously we were relying on an integration manager to be defined, functional, and alive in order to join Jitsi calls. This commit changes this so we aren't reliant on an integration manager for Jitsi calls at all, and gives people the option of choosing a Jitsi server via the config.json.

This side is just the wrapper/shell: the logic is mostly in the react-sdk (to be linked via PRs). This layer simply has an HTML file exported that can be used to render a Jitsi widget, and the react-sdk constructs a URL to access it locally. This is similar to how the mobile apps handle Jitsi widgets: instead of iframing the widget URL directly into the app, they pull apart the widget information and natively render it. We're effectively doing the same here by parsing the widget options and using our local wrapper instead of whatever happens to be defined in the widget state event.

Integration managers should still continue to offer a widget URL for Jitsi widgets as this is what the spec requires.

A large part of this is based upon Dimension's handling of Jitsi and widgets in general: a license has been granted to allow Riot (and therefore the react-sdk) to use the code and be inspired by it.
2020-03-18 15:48:02 -06:00
Michael Telatynski 7296b704a8
Merge pull request #12756 from vector-im/t3chguy/gemini
Remove remainders of gemini-scrollbar and react-gemini-scrollbar
2020-03-18 14:03:59 +00:00
Michael Telatynski 5913e3830b
Merge pull request #12735 from vector-im/t3chguy/url
Add url tests to Modernizr
2020-03-17 11:16:48 +00:00
Michael Telatynski 8cef591c57 Remove remainders of gemini-scrollbar and react-gemini-scrollbar
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-17 10:31:46 +00:00
Michael Telatynski eba63ce9ab Add url tests to Modernizr
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-14 00:13:47 +00:00
Damir Jelić 20a89d67cb ElectronPlatform: Add support to remove events from the event index. 2020-03-12 11:51:34 +01:00
Michael Telatynski 09ed0e781a Update copy for SSO modal 2020-03-02 20:04:31 +00:00
Michael Telatynski 178c61dbf7 fix typo 2020-03-02 15:01:06 +00:00
Michael Telatynski c197661be0 riot-desktop open SSO in browser so user doesn't have to auth twice 2020-03-02 14:59:55 +00:00
Travis Ralston 22bc98c8bc Merge branch 'develop' into noscript 2020-02-28 13:34:39 -07:00
Michael Telatynski 7c84e406ac Modernizr remove t3st/es6/contains
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-26 12:16:35 +00:00
Michael Telatynski 37e17133bc Switch out any eval-using Modernizr rules
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-26 10:24:10 +00:00
Michael Telatynski af0b57bcda make BasePlatform::setLanguage sync, handle promises internally
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-25 10:57:41 +00:00
Michael Telatynski 5117efaf98 Notify electron of language changes
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-24 17:14:23 +00:00
Karol Kosek b571ff766c
index.html: Place noscript on top of the page
Before this change, you had to scroll down to see the noscript element.
This change places the noscript element on top of the page making sure
that a user will see this message when site is loaded without JavaScript.

Signed-off-by: Karol Kosek <krkk@krkk.ct8.pl>
2020-02-22 21:14:01 +01:00
Michael Telatynski 5cc0cef06c Use Persistent Storage where possible
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-20 00:38:09 +00:00
Michael Telatynski 7664eb27c4 Move bulk to react-sdk and reference it from riot-web land
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-13 16:58:28 +00:00
Michael Telatynski b7ed7a1dd7 Update comments and such
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-13 16:53:45 +00:00
Michael Telatynski d39d89de83 revert modernizr change 2020-02-07 22:08:57 +00:00
Michael Telatynski 98773df76e Get rid of dependence on usercontent.riot.im 2020-02-07 22:07:30 +00:00
Michael Telatynski 95f749ccd9 Remove modernizr rules for features on which we only soft depend
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-06 18:01:53 +00:00
Michael Telatynski eb62972aed
Merge pull request #12258 from vector-im/t3chguy/csp
Embed CSP meta tag and stop using script-src unsafe-inline
2020-02-06 12:15:17 +00:00
Michael Telatynski 3a5a904afb
Update src/vector/index.html
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com>
2020-02-06 11:54:05 +00:00
Michael Telatynski 7d68c2c465 re-add child-src as the common ancestor of worker-src and frame-src for backwards compat and split onto multiple lines for readability
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-06 11:52:21 +00:00
Michael Telatynski 074a3cfaaf fix font-src of CSP 2020-02-06 10:17:38 +00:00
Michael Telatynski 2b5e028cbe add comment 2020-02-05 16:37:19 +00:00
Michael Telatynski ec20e1ece2 Embed CSP meta tag and stop using script-src unsafe-inline 2020-02-05 16:35:23 +00:00
Michael Telatynski 7d49078f22 Change them to Modernizr tests and add more rules 2020-02-05 14:05:46 +00:00
Michael Telatynski 032efafe2e Rejig things around to catch Promises not being a thing at all 2020-02-04 13:35:05 +00:00
Michael Telatynski 087bcf0ae6 fix declaration order 2020-02-04 11:11:06 +00:00
Michael Telatynski cdc1202bbe Add custom browser checks outside of Modernizr 2020-02-04 11:08:52 +00:00
Michael Telatynski bceca49cdc Update vendored modernizr 2020-02-04 11:00:47 +00:00
Damir Jelić 7aff020d4d Merge branch 'poljar/seshat-ui' into develop 2020-01-24 14:40:54 +01:00
Damir Jelić c0558f3527 Merge branch 'poljar/seshat-filepanel' into develop 2020-01-24 14:38:20 +01:00
Damir Jelić e1e3bba290 ElectronPlatform: Replace the indexSize method with the getStats method. 2020-01-21 13:35:29 +01:00
Damir Jelić e556bb242f ElectronPlatform: Add the indexSize method. 2020-01-21 13:35:29 +01:00
Travis Ralston 99e1ff9477 Load as little as possible in index.js for the skinner
Imports are optimized to be concurrent/async by webpack, which means that when the old index.js referenced the Lifecycle from the react-sdk it caused the app to explode. This is because in another branch the Lifecycle references a class member of a skinnable component, leading to the skinner complaining that the skin hasn't been loaded.

To work around this, we've shoved all the app stuff to a new app.js file, leaving just the skinning and some early bootstrap work in the index.js
2020-01-20 19:52:11 -07:00
Travis Ralston cdd25ea45f Fix rageshake post-sourcemaps 2020-01-17 18:27:37 -07:00
Damir Jelić a2e256b4c9 ElectronPlatform: Add the ability to load file events from the event index. 2020-01-17 10:11:57 +01:00
Travis Ralston f73d2bae1f Merge branch 'develop' into travis/sourcemaps 2020-01-13 11:22:47 -07:00
Dale Harvey a41484cb35 Add stub service worker so users can install on desktop with Chrome
Signed-off-by: Dale Harvey <dale@arandomurl.com>
2020-01-10 19:08:56 +00:00
Travis Ralston ec66069e96 Update build scripts for new process
We have to convert *something* to TypeScript so it doesn't complain that there's nothing to compile, so this converts the easiest utility library.

Many of the scripts are copied from the react-sdk.
2020-01-08 16:09:42 -07:00
Travis Ralston 17e332bb48 Import from src/ for the react-sdk and js-sdk
We compile directly for accuracy of sourcemaps.
2019-12-23 20:02:11 -07:00
David Baker 89d622b8b2 Remove the code that calls the origin migrator
This will have done its job now, everyone's had long enough to
install a newer version of Riot and migrate to the new origin.

Laves the code on the backend that handles it for the time being,
as per comment.
2019-12-09 11:57:43 +00:00
David Baker c063cec4d7 remove draft CSS reference 2019-12-06 13:44:51 +00:00
Aaron Raimist 3397165036
Remove mention of vector.im as default identity server on mobile guide
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2019-11-27 19:26:22 -06:00
Damir Jelić 222fea969d Merge branch 'poljar/seshat-pr' into develop 2019-11-26 18:47:58 +01:00
Michael Telatynski eac6c46d28 Merge branches 'develop' and 't3chguy/remove_bluebird' of https://github.com/vector-im/riot-web into t3chguy/remove_bluebird 2019-11-22 14:00:02 +00:00
David Baker 8b2ca56283
Merge pull request #11445 from vector-im/dbkr/dedup_theming_code
De-dup theming code
2019-11-21 09:44:22 +00:00
David Baker 135d5f4cc7
Merge pull request #11442 from vector-im/dbkr/system_dark_mode
Use new theme API in react-sdk
2019-11-20 16:32:32 +00:00
David Baker e34c46c893 Dedup theming code
Following on from https://github.com/matrix-org/matrix-react-sdk/pull/3637
this removes the code dealing with themes in vector/index.js and uses the
code from react-sdk. The two did almost exactly the same thing but in
subtley different ways.

This code can be incredibly subtle though, so doing this a separate
PR.
2019-11-20 15:42:15 +00:00
David Baker 7294bec1c8 Use new theme API in react-sdk
A thesis presented in two parts. This part has the absolute minimum
logic changes to the themeing code in vector/index.js because I know
how subtle and fragile this code is. However, it also looks like it's
completely duplicated from react-sdk, so in the next part I'm going
to remove that logic and make it use the logic in react-sdk, then we
can see what breaks.

Requires https://github.com/matrix-org/matrix-react-sdk/pull/3637
2019-11-20 13:43:08 +00:00
Bruno Windels 0c9f0e52bd preload warning triangle 2019-11-20 12:42:31 +01:00
Damir Jelić 137bedb3f9 ElectronPlatform: Update the path for the BaseEventIndexManager class. 2019-11-19 13:34:00 +01:00
Damir Jelić 73b302f432 ElectronPlatform: Fix some type annotations. 2019-11-19 13:34:00 +01:00
Damir Jelić 4a25252626 ElectronPlatform: Rename the SeshatIndexerManager. 2019-11-19 13:34:00 +01:00
Damir Jelić dd2c210cfb electron-main: Rework the event index initialization and deletion. 2019-11-14 16:14:48 +01:00
Damir Jelić 7147af8f80 ElectronPlatform: Don't scope the event index per user. 2019-11-14 14:14:59 +01:00
Travis Ralston 6cf4fc1026 Trigger a theme change on startup, not just a tint change
Fixes https://github.com/vector-im/riot-web/issues/11370
2019-11-13 14:00:22 -07:00
Damir Jelić c3c5756c7a ElectronPlatform: Implement the EventIndexManager for Seshat. 2019-11-13 15:55:07 +01:00
Travis Ralston 71fb2e04a9
fix catch block indentation 2019-11-12 15:14:11 -07:00
Travis Ralston e84861f770 Apparently our eslint rules are different in different layers 2019-11-12 15:04:56 -07:00
Travis Ralston ec9a38c2fe Perform favicon updates twice in Chrome
See diff for why this arcane magic is needed.

Fixes https://github.com/vector-im/riot-web/issues/11347
2019-11-12 15:02:52 -07:00
David Baker 7af68bddea Remove the 'auto hide menu bar' option on Mac
The menu bar is at the top of the screen on Mac so this setting
does absolutely nothing.
2019-11-05 20:31:08 +00:00
Michael Telatynski 10e1d9093e transform-async-to-promises: get rid of bluebird 2019-11-04 12:46:28 +00:00
Michael Telatynski 9820e59559 Merge hide-to-tray-icon with show-tray-icon 2019-10-30 14:32:28 +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
Matthew Hodgson 4e619b1693
Merge branch 'develop' into patch-3 2019-10-20 11:44:38 +01:00
Damir Jelić 71023ae9df ElectronPlatform: Fix lint errors. 2019-10-11 17:17:24 +02:00
Damir Jelić 1dbdd0a366 ElectronPlatform: Add support for a event index using Seshat. 2019-10-11 16:05:14 +02:00
David Baker 57672ad384 Request persistent storage on Electron
It's still not 100% clear whether storage is always persistent on
Electron, but we seem to be getting reports of it being deleted in
the wild on Electron, so let's try calling the API to request
persistent storage. It won't pop up a dialog on Electron. In the
worst case it will give us some logging so we know what the API calls
return.

We could do this on non-desktop too but it's a bit of a mess because
Firefox prompts the user but Chrome makes a decision itself based on
how much the user visits the site.
2019-10-04 12:17:01 +01:00
Michael Telatynski 1018dc7ced Don't log query parameters as they may contain secrets
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-21 17:44:58 +01:00
Nad Chishtie 634141637b Remove extraneous content & styles. Style improvements. 2019-09-11 16:08:24 -07:00
Travis Ralston 0b6c29d274
Merge pull request #10480 from vector-im/t3chguy/react16
Switch to React 16
2019-09-11 10:42:24 -06:00
David Baker 89e9ac8039
Merge pull request #10810 from vector-im/nadonomy/install-guide
Update install guide
2019-09-10 18:36:35 +01:00
David Baker 58171e4479 lint 2019-09-10 18:30:02 +01:00
David Baker b8b10e79fe Update button href dynamically
also make button a link 'cos buttons can't have hrefs
2019-09-10 18:27:57 +01:00
Nad Chishtie 845fbacd11 Update copy 2019-09-09 16:51:46 -07:00
Nad Chishtie d1fb9c604a Add id to button 2019-09-09 16:46:53 -07:00
Nad Chishtie 27afa3af74 Update styling & remove extraneous elements and copy in mobile install guide 2019-09-09 16:40:06 -07:00
Michael Telatynski 7eefc9d856 Merge branch 'develop' of github.com:vector-im/riot-web into t3chguy/react16 2019-08-24 11:42:03 +01:00
Travis Ralston 9ed647d280 Remove t3chguy's debug lines 2019-08-14 09:28:35 -06:00
Michael Telatynski 46dac869d5 Load config.json before loading language so default can apply 2019-08-14 12:29:25 +01:00
Michael Telatynski d347ab08e7 Merge branches 'develop' and 't3chguy/react16' of github.com:vector-im/riot-web into t3chguy/react16 2019-08-10 00:20:30 +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
Michael Telatynski 06e7a48aaf Switch to React 16.8
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-01 15:31:33 +01:00
Bruno Windels 8a022a4be0
Merge pull request #10349 from vector-im/bwindels/cachebust-config
Cachebust config file requests
2019-07-16 11:06:57 +00:00
Bruno Windels 2cf1aabcba cachebust config file requests 2019-07-16 12:49:10 +02:00
Travis Ralston 79b519be72 Require a rageshake description in mxSendRageshake 2019-07-11 12:58:35 -06:00
Travis Ralston 9d14f92c01
Merge pull request #10197 from vector-im/t3chguy/preload_warning.svg
Add e2e/warning.svg to preload
2019-06-27 17:24:44 -06:00
Michael Telatynski 575f013bc9 Add e2e/warning.svg to preload
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-27 20:59:11 +01:00
Travis Ralston e49583f8e0 Copy from toml 2019-06-27 12:09:58 -06:00
Travis Ralston 67664365bd Display a red box of anger for config syntax errors
Fixes https://github.com/vector-im/riot-web/issues/9519
2019-06-27 11:47:29 -06:00
Michael Telatynski 01a78feb41
unexport getConfig, it was never imported externally 2019-06-27 11:17:56 +01:00
Michael Telatynski a70f6de2e4 cleanup
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-26 21:11:27 +01:00
Michael Telatynski dbd198ec07 delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-06-26 21:10:28 +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
Travis Ralston 490595cb35 Use new copy for big red box 2019-06-05 11:32:33 -06:00
Travis Ralston 42be1d633c Do not fail on server liveliness checks during startup
Also warn about deprecated config option usage.

See https://github.com/vector-im/riot-web/issues/9828
2019-06-04 23:44:33 -06:00
Travis Ralston 1459bfe7be
Merge pull request #9892 from vector-im/travis/check-login-for-config
Use the user's pre-existing HS when config validation fails
2019-05-31 11:03:38 -06:00
Travis Ralston 81ec75f81d Change warning message 2019-05-31 10:44:20 -06:00
Travis Ralston c5461b4509 Don't try and render null avatars in desktop notifications
as much fun as http://localhost:8080/null is to see
2019-05-30 20:04:16 -06:00
Travis Ralston 52c3ff02ae appease the linter 2019-05-29 12:12:12 -06:00
Travis Ralston 48a634bff4 Use the user's pre-existing HS when config validation fails
Only applies if the user appears to be logged in. If the user is not logged in, we scream loudly.

This is a temporary measure for https://github.com/vector-im/riot-web/issues/9828

Fixes https://github.com/vector-im/riot-web/issues/9835
2019-05-29 12:07:31 -06:00
Travis Ralston b772bc75a9 Update copyright 2019-05-22 22:57:39 -06:00
Travis Ralston 7a65dc96cd
Merge pull request #9726 from vector-im/travis/wk/mobileguide
Show resolved homeserver configuration on the mobile guide
2019-05-17 11:01:42 -06:00
Travis Ralston 39d1293350
Merge pull request #9721 from vector-im/travis/wk/fallback_hs
Flag the validated config as the default config
2019-05-16 12:47:01 -06:00
Travis Ralston 22cc33eb15 Do a simple .well-known lookup for default_server_name for mobile guide 2019-05-14 17:57:04 -06:00
Travis Ralston 559416dcae Show most homeserver options on the mobile guide
This doesn't cover default_server_name because that pulls in a questionable amount of JS.

See https://github.com/vector-im/riot-web/issues/9290
2019-05-14 17:00:06 -06:00
Travis Ralston 68a7550080 Flag the validated config as the default config
For use in the rest of the app.

See https://github.com/vector-im/riot-web/issues/9290
2019-05-14 13:12:34 -06:00
Travis Ralston 7f5589c01b Clarify comment on is_url and hs_url handling
We don't actually need to do anything because the app transparently handles this.

See https://github.com/vector-im/riot-web/issues/9290
2019-05-14 12:53:13 -06:00
Travis Ralston 886828caa8
Merge pull request #9496 from vector-im/travis/guests/block-ui
Validate default homeserver config before loading the app
2019-05-10 11:20:33 -06:00
Matthew Hodgson 03b2766ca8 use right android app id 2019-05-04 17:28:02 +01:00
Travis Ralston bf97fd67b4 Handle cases of no default server 2019-05-03 11:06:32 -06:00
Travis Ralston 45caa8baab Add a couple notes 2019-05-03 11:06:32 -06:00
Travis Ralston ab6ba0e0d8 Add some clarity to the config options 2019-05-03 11:06:32 -06:00
Travis Ralston e7bf643d8b Don't repackage the ValidatedDiscoveryConfig
It's usable as-is, and we can add things to it when we need to (ie: integrations).
2019-05-03 11:06:32 -06:00
Travis Ralston c8caf6797d Move bulk of discovery processing to react-sdk 2019-05-03 11:06:32 -06:00
Travis Ralston 51941eae49 Add note to self 2019-05-03 11:06:32 -06:00
Travis Ralston 5445632026 Use new js-sdk properties for getting discovery errors
Requires https://github.com/matrix-org/matrix-js-sdk/pull/899
2019-05-03 11:06:32 -06:00
Travis Ralston f08491cee8 Validate default homeserver config before loading the app
Implements the process described here: https://github.com/vector-im/riot-web/issues/9290#issuecomment-481966910

The expectation is that later layers (like the react-sdk) will make use of the `validated_discovery_config` option instead of interpreting the config themselves.

We intentionally block the UI from loading here to avoid races between discovery and the app loading.
2019-05-03 11:06:32 -06:00
J. Ryan Stinnett d4de7f5df3 Delay creating the `Favico` instance
This avoids a canvas permission prompt from appearing on page load for users in
Firefox's resist fingerprinting mode. The prompt will still happen once you log
in and receive a notification, but at least this prevents it from happening
during the initial app experience.

Fixes https://github.com/vector-im/riot-web/issues/9605
2019-05-02 13:29:25 +01:00
Nad Chishtie c70a2925a8 More responsive styling. 2019-04-09 17:05:41 +02:00
Nad Chishtie 17788b2027 Improved responsive styling. 2019-04-09 16:40:41 +02:00
Nad Chishtie 527dc1982e Updated branding. 2019-04-09 16:40:04 +02:00
Travis Ralston b72ae197e5 Use a different cookie to expire any cookies people may already have
We also check for a specific value in case people set it to `true` for some reason.
2019-04-03 18:11:25 -06:00
Travis Ralston 0d2668f2b1 Step cookie down to 4 hours 2019-04-03 18:01:09 -06:00
Travis Ralston b1c885a266 Expire mobile guide cookie after 24 hours
See https://github.com/vector-im/riot-web/issues/9360

This is to prevent it from always working. Cookies without an expiration are supposed to expire at the end of the session, however the nature of mobile browsers means that the session is unlikely to ever end.
2019-04-02 11:18:05 -06:00
Michael Telatynski 5a3b9ae454 more matching
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-02-24 01:38:21 +00:00
Michael Telatynski 717495c4e0 specify return types to match superclass
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-02-24 01:21:18 +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
Bruno Windels 2e60037d9f add cache busting for app icons and msapp config xml 2019-02-15 16:11:33 +01:00
J. Ryan Stinnett 01f9e48b79 Re-enable theme setting at startup 2019-02-13 10:47:51 +00:00
J. Ryan Stinnett 3eb550a15c Spell homeserver correctly 2019-01-31 18:52:49 -06:00
J. Ryan Stinnett b96fa43376 Tweak auth overflow on Windows and Linux 2019-01-29 10:20:11 -06:00
David Baker 03de7f9901 Cache-bust olm.wasm
In the same way as we now do images/fonts
2019-01-28 14:09:28 +00:00
David Baker 0022834af4
Merge pull request #8241 from vector-im/dbkr/fix_platform_name
Fix device names on desktop
2019-01-23 17:15:56 +00:00
David Baker 9aad7042a2 Fix device names on desktop
Apparently I really had a bad day with includes / indexOf
2019-01-23 16:53:50 +00:00
David Baker 9aa8b32df8
Merge pull request #8238 from vector-im/dbkr/lt_gt_desktop_notifs
Fix literal &lt/&gt in notifications
2019-01-23 16:14:39 +00:00
David Baker 25ef0913bb Fix registration nextLink on desktop
Another instance of detecting the file: protocol

Fixes https://github.com/vector-im/riot-web/issues/8235
2019-01-23 15:25:04 +00:00
David Baker a5ed5be3cf Fix literal &lt/&gt in notifications
Apparently I couldn't decide whether I was writing indexOf(...) > -1
or .includes()

Fixes https://github.com/vector-im/riot-web/issues/8230
2019-01-23 14:47:31 +00:00
J. Ryan Stinnett 7a3df1c7d6 Support image URLs in HTML templates
Expands the image build process to also support the right paths when used in
HTML templates.
2019-01-18 08:39:16 -06:00
J. Ryan Stinnett 05f9cf453d Fix SdkConfig import to use transformed module
This was originally added in #7755, which pulled in the original source for the
module, breaking ancient browsers without support for classes (#8082).
2019-01-11 17:37:20 -06:00
David Baker 373c587ef8
Merge pull request #8003 from vector-im/develop
Merge develop into experimental
2019-01-03 18:56:03 +00:00
David Baker 9e085511fd
Merge pull request #7943 from vector-im/dbkr/electron_custom_protocol
Electron: Load app from custom protocol
2019-01-03 10:09:31 +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 4274c7287a Fix the IndexedDB worker
Looks like this was broken in the webpack 4 upgrade due to the
worker script setter and the bundle being re-ordered in index.html.

 * Remove the loop: we only use two scripts now, so import them
   explicitly
 * Remove outdated olm import code.
 * Stop generating a script import for each theme: we were pulling
   in 3 js files that did absolutely nothing.
 * Fix worker 'onmessage' scope (set it as a global rather than
   trying to make it an ES6 module which it isn't).
 * Fail hard if the indexeddb worker script isn't set to avoid
   this happening again.
2018-12-20 11:11:52 +00:00
David Baker baf3df5736
Merge pull request #7920 from vector-im/dbkr/fix_indexeddb_worker
Fix the IndexedDB worker
2018-12-20 07:49:29 +00:00
David Baker 7527bdd2c7 Fix the IndexedDB worker
Looks like this was broken in the webpack 4 upgrade due to the
worker script setter and the bundle being re-ordered in index.html.

 * Remove the loop: we only use two scripts now, so import them
   explicitly
 * Remove outdated olm import code.
 * Stop generating a script import for each theme: we were pulling
   in 3 js files that did absolutely nothing.
 * Fix worker 'onmessage' scope (set it as a global rather than
   trying to make it an ES6 module which it isn't).
 * Fail hard if the indexeddb worker script isn't set to avoid
   this happening again.
2018-12-19 22:05:04 +00:00
J. Ryan Stinnett 8cd37d28da Clarify line number instructions
Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-19 15:04:54 +00:00
David Baker ff45dc6430 Remove unused commented line 2018-12-19 09:29:05 +00:00
David Baker 0c428efea0 lint 2018-12-18 18:03:47 +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
Travis Ralston 373f850002 Safely bind console.log and default withLogs to true 2018-11-29 13:13:46 -07:00
Travis Ralston ac34ca11df Appease the linter 2018-11-27 16:11:58 -07:00