Commit Graph

22 Commits

Author SHA1 Message Date
Michael Telatynski
0572d62c88 extract app load error handler from app.js
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-09 10:32:04 +01:00
Michael Telatynski
cc939f9645 extract browser compatibility error handling out of app.js
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 21:41:22 +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
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
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
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
b5318b4ebc fix global.d.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-05 00:05:59 +01: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
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
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
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
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
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