Commit Graph

121 Commits

Author SHA1 Message Date
Michael Telatynski 0620da4351 Add webpack stats which will be used by CI and stored to artifacts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-23 12:07:26 +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
Travis Ralston f44694ad44 Support TypeScript for React components
Same treatment as https://github.com/matrix-org/matrix-react-sdk/pull/4203
2020-03-11 18:19:03 -06:00
Michael Telatynski 56f9149e84 update webpack paths
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-13 17:00:17 +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 0c62db3615 revert webpack changes 2020-02-07 22:09:41 +00:00
Michael Telatynski 98773df76e Get rid of dependence on usercontent.riot.im 2020-02-07 22:07:30 +00:00
J. Ryan Stinnett 4c4f885f25 Change to minimal Webpack output
This changes Webpack to only output errors, warnings, or new compilations.
This has the effect of hiding the massive list of modules. The giant list was
actually _hiding_ warnings because they appear first and scroll off the
terminal.
2020-01-24 22:34:15 +00:00
David Baker 6835f6054b path.resolve does joining too so path.join is redundant 2020-01-21 10:16:32 +00:00
Travis Ralston 932c221548 Fix webpack config (by stealing Dave's config)
Without doing something like this it's hard to use `yarn link`ed resources.
2020-01-20 18:10:06 -07:00
David Baker 42743c3ead Third try at fixing build 2020-01-20 18:20:41 +00:00
David Baker 5d8d5d70d0 Fix build to not babel modules inside js/react sdk
Adds 'src' to react-sdk & js-sdk babel test path so we don't run node
modules inside js & react sdk through babel
2020-01-20 18:00:38 +00:00
David Baker 922ed597d6 Fix webpack to babel js-sdk & react-sdk but no other deps
This was happening implicitly in our dev setups and the CI build
because of the comment on the last line.
2020-01-20 16:55:07 +00:00
Travis Ralston fb9503199d Don't calculate sourcemaps in production 2020-01-16 11:55:54 -07:00
Travis Ralston bb931e25d8 Make sourcemaps legible by humans 2020-01-16 11:47:16 -07:00
Travis Ralston 69d49f9881 Fix indentation of webpack config 2020-01-16 11:33:55 -07:00
Travis Ralston 4e37f8aa88 Merge branch 'develop' into travis/fix-ci 2020-01-16 09:25:10 -07:00
Travis Ralston ae010ef649 Convert babel config to JS for Jest to pick up 2020-01-15 13:00:11 -07:00
Travis Ralston 909fddb732 Don't minifiy builds of develop through CI packaging
Fixes https://github.com/vector-im/riot-web/issues/11864

This uses an environment variable because the build script assumes you want a production build, but we don't for this particular script. To avoid having a mess of NPM scripts to worry about, we'll just pass a flag down.
2020-01-15 12:19:45 -07:00
Travis Ralston 1cd9c4ff11 Move babel config out to its own file
For reasons described within this diff.
2020-01-08 16:01:28 -07:00
Travis Ralston 203c9c8a7d Don't use so many extensions 2020-01-08 15:11:23 -07:00
Travis Ralston 37a83d469c Add giant comment about why we're runnign CSS through PostCSS 2020-01-08 14:56:40 -07:00
Travis Ralston 1b41dc3291 Make the webpack config work for us
This moves the babel and postcss configs into the webpack config for ease of maintenance (and because we need variations of them). The typescript config is left outside the webpack config for IDEs to pick it up.
2019-12-23 19:51:01 -07:00
Bruno Windels 4273f2cc55 add support for dark custom theme 2019-10-01 17:01:16 +02:00
Bruno Windels 5ead6554b3 add new theme to build 2019-09-30 11:00:14 +02: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
J. Ryan Stinnett 95d36c1f29 Fix Twemoji loading on Windows dev machines
This corrects our path handling on Windows development machines for
paths referenced in JS and HTML files. Both images and fonts (like
Twemoji) were afflicted (with Windows-style backslash path delimiters),
but browsers seems to tolerate them in the `src` attribute of images, so
we didn't notice that variant before.
2019-05-28 14:31:42 +01:00
Matthew Hodgson 3e17e9f00d tell webpack about woff & woff2 files 2019-05-19 16:09:47 +01:00
J. Ryan Stinnett 1312ba537a Update scripts and docs to use `yarn` where appropriate
Most `npm` operations are replaced with `yarn`, which generally has better
behavior. However, steps like publish that write to the NPM registry are left to
`npm`, which currently handles these tasks best.
2019-03-12 11:06:57 +00:00
David Baker bf1ab7f420 Use $webapp rather than Webapp 2019-03-01 12:03:19 +00:00
David Baker 53e25ff247 Set a resuire alias for the webapp directory
So languagehandler can pull the languages json from there
2019-03-01 11:32:37 +00:00
Bruno Windels 6a9c053536 simplify config entry 2019-02-20 09:39:42 +01:00
Bruno Windels c2d14392b2 allow setting the relative location of the language file for running the unit tests in ci, where riot-web is a subdirectory of react-sdk 2019-02-18 17:26:49 +01:00
Bruno Windels 223d8a87ca move relative path in react-sdk to webpack config file
otherwise react-sdk can't build anymore with riot-web
in a specific location
2019-02-18 16:25:19 +01:00
Bruno Windels 070cc77e0f add content hash to languages.json file using webpack file-loader 2019-02-18 16:12:04 +01: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 0cb35ad216 Rename dharma theme to light theme 2019-02-13 10:47:51 +00:00
J. Ryan Stinnett 7b9de1dbf2 Remove Status theme 2019-02-13 10:47:51 +00:00
J. Ryan Stinnett 745f43a959 Enable building dark theme 2019-02-13 10:47:51 +00:00
J. Ryan Stinnett 8a5b96313a Remove light theme, mark dharma primary 2019-02-13 10:47:51 +00:00
J. Ryan Stinnett 8bac9efd4c Update Riot logo 2019-02-01 13:04:48 -06:00
J. Ryan Stinnett 3fad360f5f Revert "empirically if we want sourcemaps which work for dev we need eval-source-map"
This change causes Node to crash during builds in some configurations.  It also
grows the production bundle size to ~4x what it was before.

This reverts commit 9f4ce2dcf2.
2019-01-31 17:03:16 -06:00
Matthew Hodgson 9f4ce2dcf2 empirically if we want sourcemaps which work for dev we need eval-source-map 2019-01-31 23:30:22 +01: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
Aaron Raimist d0c503d6c8
Completely disable other themes for now (#8277)
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2019-01-27 21:28:30 -06:00
J. Ryan Stinnett 0802aaae91 Convert slashes in public paths 2019-01-18 17:54:16 -06:00
J. Ryan Stinnett cf0b2816c1 Only CSS references need to traverse
The path adjustment for assets in bundles is only needed with CSS files.  Paths
referenced in JS files are written to elements, where they are relative to the
document.
2019-01-18 15:59:29 -06:00
J. Ryan Stinnett 7418815637 Fix some path math on Windows 2019-01-18 15:59:29 -06: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 49be03e845 Process images with Webpack
This adds a `file-loader` rule to the Webpack build so that any requests for
image resource will be output into the app's output directory, but with an extra
content has appended so that we can safely use a long cache lifetime.

The CSS and SCSS rules are also changed to use `css-loader` so that any `url`
inside is automatically processed by the new image rule above.
2019-01-18 08:39:09 -06:00