Commit Graph

239 Commits (e0954f330a81f7df2cde1af6f2d529df22c5ffd8)

Author SHA1 Message Date
Dariusz Niemczyk 231ff3a73d
Fix CI having invalid node_env 2021-08-23 12:35:43 +02:00
Paulo Pinto f16f804637 Fix theme key
The key must match the theme name, otherwise the getThemesImports() function
will exit with an error.

Signed-off-by: Paulo Pinto <paulo.pinto@automattic.com>
2021-08-20 15:44:28 +01:00
Paulo Pinto 412a7554c7 Remove commented out code 2021-08-18 17:15:07 +01:00
Paulo Pinto c3c47f170c Improve phrasing 2021-08-18 17:12:36 +01:00
Paulo Pinto 0eb8d3f4d1 Make code consistent with the comment above 2021-08-18 17:11:12 +01:00
Dariusz Niemczyk 71dcb0dd0d
Fix wrong variables in webpack config 2021-08-12 18:32:13 +02:00
Dariusz Niemczyk f56e8d7489
Add full HMR that actually somehow works! 2021-08-08 20:40:01 +02:00
Travis Ralston d4fc3ed354 Properly handle react-sdk's recorder worklet
Fixes https://github.com/vector-im/element-web/issues/18393
2021-08-04 15:08:52 -06:00
Dariusz Niemczyk 06d536afbc
Revert nameModules in webpackConfig 2021-08-03 18:38:00 +02:00
Dariusz Niemczyk 10fb3859fa
Add better docs and iframe support 2021-08-02 22:46:16 +02:00
Dariusz Niemczyk 88df5c33a9
Update webpack.config.js
Co-authored-by: Germain <germain@souquet.com>
2021-08-02 14:38:25 +02:00
Dariusz Niemczyk da4a49fd31
Add a default theme for CI 2021-08-02 14:38:25 +02:00
Dariusz Niemczyk a9f3f873a5
Add a .env config and explanation how to use HMR 2021-08-02 14:38:25 +02:00
Dariusz Niemczyk b677edbc58
Make CSS Hot-reload work in a hacky way 2021-08-02 14:38:25 +02:00
Travis Ralston 5e6b791617 Update webpack path for new worker location 2021-07-22 09:26:53 -06:00
Michael Telatynski 66ada58101 Use webpack worker-loader to load the IndexedDB worker instead of homegrown hack 2021-07-12 18:43:21 +01:00
Šimon Brandner 2760a36f47
Convert a few files to TS
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-06 21:41:02 +02:00
Germain Souquet 72d762ea0d Deprecate postcss calc() 2021-06-30 17:17:27 +01:00
J. Ryan Stinnett a1c53e59fb Fix lint errors in Webpack config 2021-06-10 15:19:38 +01:00
J. Ryan Stinnett 8d05d8481a Preload only `woff2` fonts
All of our supported browsers understand `woff2`, so there's no need to make
everyone preload the older `woff` as well.
2021-06-10 13:02:21 +01:00
fooness 10194fe445
Prevent minification of `.html` files generated by new verison html-webpack-plugin
This described in https://github.com/vector-im/element-web/issues/17330#issuecomment-842530812, this should prevent the newly introduced version of `html-webpack-plugin` from minifying `.html` files, like e.g. `index.html`, `jitsi.html`, et cetera …

Quoting @jryans via: https://github.com/vector-im/element-web/issues/17330#issuecomment-842415694

> The content of the `index.html` file is not a supported API surface, so it might change at any time.
> 
> This document minification was not done on purpose, but instead it happened as a side effect of upgrading. We would happily accept a PR to fix this, but it is also not a priority for the core team.

Could please someone test and, hopefully, accept this change back to not minifying the `.html` files?
2021-05-18 12:35:51 +02:00
Travis Ralston 07a0af2aae Add required webpack config to load Safari support modules
See https://github.com/matrix-org/matrix-react-sdk/pull/5989
2021-05-06 21:51:03 -06:00
Travis Ralston 69b4296fa7 Merge branch 'develop' into travis/voice/event_type 2021-04-22 14:37:23 -06:00
Germain 8692d6fa89
Merge pull request #17039 from vector-im/gsouquet-preload-fonts 2021-04-22 17:15:06 +01:00
Germain Souquet 8abc7cd87c Only inject Inter fonts to HtmlWebpackPlugin 2021-04-22 14:31:06 +01:00
J. Ryan Stinnett 9cf35ab199 Disable `postcss-calc`'s noisy `warnWhenCannotResolve` option
While it sounds like a useful warning at first, it turns out the warnings it
prints are ones we're unlike to ever act on, such as adding percentages and
pixels, which seem fine to have. This resets to default behaviour, which leaves
the warning off.
2021-04-22 13:05:02 +01:00
Germain Souquet 87806b8a67 Remove overzealous linter fixes 2021-04-22 12:22:10 +01:00
Germain Souquet 417835fcca Preload Inter font to avoid FOIT on slow connections 2021-04-22 12:09:50 +01:00
Germain Souquet 708f6a26b1 Upgrade html-webpack-plugin to v4.5.2 2021-04-22 10:22:52 +01:00
Travis Ralston 9c3627dca9 Register RecorderWorklet from react-sdk 2021-04-19 21:51:25 -06:00
J. Ryan Stinnett 53f9895901 Set `NODE_ENV` in a different way
With the approach in https://github.com/vector-im/element-web/pull/16969,
Webpack seems to sometimes do what we want, sometimes not... I haven't quite
worked out why. Perhaps there's some conflict or race in Webpack's defaults...?

This new approach seems to work as expected when running
`./scripts/ci_package.sh`, which matches what development deployments are doing.
2021-04-19 15:52:24 +01:00
Germain Souquet 84d6dcf498 Revert overzealous ESLint updates 2021-04-16 09:18:32 +01:00
Germain Souquet 0532c9c37b Use React production for CI builds
When running Nightly build we want to benefit from the fast runtime that React production offers and get rid of the runtime overhead that comes with development.

We are setting NODE_ENV and not "webpack.mode" to not loose sourcemaps and have minified sources in that environment
2021-04-15 15:17:24 +01:00
Germain Souquet f06eb14c48 Linter recommendations 2021-04-15 15:15:48 +01:00
Travis Ralston 4eb7c1bc00 Add docs for where the worker comes from 2021-03-23 18:29:26 -06:00
Travis Ralston cd2dda268f Add webpack config for opus-recorder worker 2021-03-16 22:58:50 -06:00
Travis Ralston e2ce4239bd Improve docs for customisations
The new regex considers Windows as an OS, and the added array helps reduce merge conflicts for the future.
2021-03-09 14:17:51 -07:00
Michael Telatynski 97925a6ad9 Iterate SpacePanel, fix tooltips and give consistent expanded states 2021-01-29 09:16:55 +00:00
J. Ryan Stinnett c667473258 Improve asset path for KaTeX fonts
This adjusts our asset path handling to group KaTeX fonts in a more sensible way
alongside the other fonts we have. It also resolves production build issues on
Windows.

Fixes https://github.com/vector-im/element-web/issues/15911
2020-12-09 17:03:55 +00:00
J. Ryan Stinnett d8e0ea5791 Include KaTeX CSS as a dependency
This changes the KaTeX CSS inclusion to function just like the other bits of the
CSS that we import from dependencies.
2020-11-27 12:18:24 +00:00
J. Ryan Stinnett 301ea6a5f3
Merge pull request #15277 from akissinger/katex
added katex.min.css to webpack for math support (main PR in matrix-react-sdk)
2020-11-27 11:55:56 +00:00
Aleks Kissinger e743a12f30 matched setting name to PR in matrix-react-sdk 2020-11-26 17:40:14 +00:00
J. Ryan Stinnett f1e89bf833 Replace various instances of Riot with Element 2020-11-25 17:01:19 +00:00
Michael Telatynski cfee4c925a Revert "Attempt to fix tests some more"
This reverts commit c76a5f2c

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-10-01 14:05:07 +01:00
Michael Telatynski 1edbe36547 Revert "Tidy up Service Worker, only run Workbox in production"
This reverts commit c47532fe

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-10-01 14:04:32 +01:00
Michael Telatynski 87c42934ea Revert "Disable workbox when running in webpack dev server, not in dev mode"
This reverts commit 11e676ce

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-10-01 14:04:21 +01:00
Michael Telatynski 11e676cee0 Disable workbox when running in webpack dev server, not in dev mode
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-09-30 17:35:12 +01:00
Aleks Kissinger a40cc4fa3e added katex.min.css to webpack for math support 2020-09-24 18:27:57 +01:00
Michael Telatynski c47532fe2a Tidy up Service Worker, only run Workbox in production
Moves ServiceWorker load into Platform so its not done by Electron

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-09-24 13:01:34 +01:00
Michael Telatynski c76a5f2c52 Attempt to fix tests some more 2020-09-15 13:19:47 +01:00
J. Ryan Stinnett 3f0de699f0 Clean up comments around Webpack modes 2020-07-17 14:57:48 +01:00
J. Ryan Stinnett 8ae4298637 Webpack modes also manage NODE_ENV
We don't need to manually define `NODE_ENV` in the Webpack config, nor do we
need to set it outside Webpack with `cross-env` either, as Webpack's modes will
take care of this for us.
2020-07-17 14:18:08 +01:00
Bruno Windels 29a1862912 rename element theme to light/dark to apply old prefs 2020-07-14 18:40:57 +02:00
David Baker d0f81b26ad Change logos excluding vector-icons 2020-07-10 19:09:52 +01:00
Bruno Windels bc57e6fd70 dark theme 2020-07-09 14:47:42 +02:00
Bruno Windels c9c402310a element theme webpack config 2020-06-30 13:28:24 +02:00
Michael Telatynski 99df2d3126 Fix postcss order to allow mixin variables to work
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-14 18:46:16 +01:00
Zoe 22704382fe Merge branch 'develop' into foldleft/12014-big-previews-2 2020-05-11 10:19:09 +01:00
Zoe cbdb2ec9a6 import image to package for use 2020-05-07 10:39:02 +01:00
Zoe 5dd452bec0 use a different image in previews 2020-05-04 11:42:09 +01:00
Zoe 0e75b1b0db
Merge pull request #13357 from vector-im/foldleft/decoder-ring
Developer tool: convert rageshake error locations back to sourcecode locations
2020-05-01 09:37:51 +01:00
Zoe 3e77418fd7 Turn on source mapping, copy decoder-ring over to bundle 2020-04-23 17:55:21 +01:00
Michael Telatynski b7fa8a1f54 wire up the static fallback error pages
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-23 13:37:25 +01:00
Michael Telatynski b647e35c48
Merge pull request #13049 from vector-im/t3chguy/default_home
Add new default home page fallback
2020-04-07 14:47:01 +01:00
Michael Telatynski e58cd1f73a Add new default home page fallback
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-07 10:48:56 +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 b09b47543b Merge branches 'develop' and 't3chguy/app_load_tweaks' of github.com:vector-im/riot-web into t3chguy/app_load_tweaks 2020-03-25 12:45:10 +00:00
Michael Telatynski a808d26764 Enable webpack reuseExistingChunk
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-25 12:41:33 +00:00
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