Commit Graph

552 Commits

Author SHA1 Message Date
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 a28691f14d Add returns to fetch-develop-deps
These look necessary for https://github.com/vector-im/riot-web/pull/8225
to work - the build is failing on jenkins
2019-01-23 11:40:21 +00:00
J. Ryan Stinnett cf150fc575 Try fetching more branches for PRs
Attempt both the PR author's branch and the PR's target branch. This resolves
issues on experimental where we need matrix-react-sdk to also be experimental.
2019-01-22 21:28:09 -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
Bruno Windels 19190deb3c set x perms 2019-01-09 15:20:55 +01:00
Bruno Windels 45558f5323 run both react-sdk and riot-web tests 2019-01-09 15:16:20 +01:00
Bruno Windels 509ae4cea4 run unit tests on riot-web like before 2019-01-09 15:02:20 +01:00
Bruno Windels 419726f423 set executable perms 2019-01-09 14:43:05 +01:00
Bruno Windels 481cd292ad make e2e tests job conditional at travis.yml level 2019-01-09 14:36:32 +01:00
Bruno Windels 5ce08523f8 split up script for unit and end-to-end tests so unit tests are not run as part of e2e tests 2019-01-09 14:21:45 +01:00
Erik Johnston ab468b5346 Refactor travis-ci to use parallel jobs 2019-01-08 11:33:12 +00:00
Travis Ralston 8017f0a4a1 Merge remote-tracking branch 'origin/experimental' into travis/develop-for-real 2019-01-03 16:00:23 -07:00
David Baker f928be6f59 Revert "Merge pull request #2395 from matrix-org/dbkr/merge_develop_experimental"
This reverts commit ad47144355.
2019-01-03 15:37:03 -07:00
David Baker 7d161de35b Partial merge of develop to experimental
Does not include #2336 as the file has been moved out from underneath it:
will do this separately
2019-01-03 15:02:58 +00:00
J. Ryan Stinnett 135a0884c9 Update scripts/fetchdep.sh
Co-Authored-By: turt2live <travpc@gmail.com>
2018-12-28 19:42:13 -07:00
Travis Ralston 310f634a0d Ensure we install the master branch of the e2e tests as a default 2018-12-21 19:24:07 -07:00
J. Ryan Stinnett 7affd5fcff Try fetching more branches for PRs
Attempt both the PR author's branch and the PR's target branch. This resolves
issues on experimental where we need riot-web to also be experimental.
2018-12-20 22:58:09 +00:00
Travis Ralston a2b825ba92 Sort translations by file name
This keeps the strings close together and roughly in the same area as the others, and makes it easier to maintain the translation file.
2018-12-05 11:52:10 -07:00
David Baker 8298e73205 Argh, npm, why are you so awful? 2018-11-21 19:25:11 +00:00
David Baker d2c87a0331 Fix jenkins build 2018-11-21 19:13:42 +00:00
David Baker 7df77d7e5d Recent node please 2018-11-21 19:00:11 +00:00
Aaron Raimist 2f991d190f Add Japanese (#7599)
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-11-08 13:31:09 -06:00
David Baker 9b80aa76ce Merge pull request #7385 from vector-im/dbkr/wasm
Support WebAssembly version of Olm
2018-10-25 15:58:24 +01:00
David Baker de7d3ba701 Change electron build script paths
Because electron builder has decided to output the mac assets to
somewhere else today.
2018-10-16 10:26:04 +01:00
David Baker c5ee92f4c3 Fall back to legacy asm.js Olm 2018-10-04 20:11:34 +01:00
David Baker 30f0a7932b Merge remote-tracking branch 'origin/develop' into dbkr/wasm 2018-10-02 16:58:31 +01:00
Travis Ralston fb262596b2 Provide more helpful errors when i18n generation fails
Also fix TextForEvent.js so it doesn't break the script. Using a variable here is not recognized, so the object has been moved inline instead.
2018-09-27 11:55:57 -06:00
David Baker 1f34d2d644 Kill off olm-loader
Now that Olm needs to be inited asynchronously anyway, we can just
pass the options to Olm.init(), and as long as we do that before we
start the js-sdk, we're all good.

This will means the olm js is now part of the main bundle but since
it's now just a wrapper around the wasm, this is probably faster.

Also add the directwatch flag to olm.wasm because otherwise it
doesn't seem to copy the file in watch mode...
2018-09-26 16:44:52 +01:00
Travis Ralston 4041f3db5c Send standard output/input from npm-sub.js to the parent proc 2018-09-25 15:54:38 -06:00
Travis Ralston 91304e70a1 Swap out the complicated canary stuff for serial execution
Fixes https://github.com/vector-im/riot-web/issues/7386
2018-09-25 15:49:14 -06:00
Travis Ralston 27c23058dc Alter build process to rely on canaries only
With the react-sdk and js-sdk having their `npm start`s split out (as per https://github.com/matrix-org/matrix-react-sdk/pull/2175 and https://github.com/matrix-org/matrix-js-sdk/pull/742) we can trigger an initial build ourselves and start the watcher afterwards. This canary approach has a very slight speed increase over serially running all the commands as the watcher can be started as early as possible.

This all can be improved and potentially eliminated with a bit more planning, however: https://github.com/vector-im/riot-web/issues/7386
2018-09-25 11:20:58 -06:00
David Baker c511902356 Support WebAssembly version of Olm.
* Olm no longer supports setting the stack/memory size at runtime,
   so don't (they're now set to be that in the Olm build).
 * Copy the wasm file from the Olm library (see multiple comments
   about it being in the wrong place and webpack being awful).
2018-09-25 17:55:41 +01:00
Travis Ralston 8d7cec2a94 Add some comments to describe the build process 2018-09-24 17:57:18 -06:00
Travis Ralston 2b037ee146 Prevent races by blocking on SDK builds
If we don't block on SDK builds, then the riot-web build fails due to half-built dependencies. This needs to be done at two levels: the js-sdk because it is used by both the react-sdk and riot-web, and at the react-sdk because riot-web needs it. This means our build process is synchronous for js -> react -> riot, at least for the initial build. 

This does increase the startup time, particularly because the file watch timer is at 5 seconds. The timer is used to detect a storm of file changes in the underlying SDKs and give the build process some room to compile larger files if needed. 

The file watcher is accompanied by a "canary signal file" to prevent the build-blocking script from unblocking too early. Both the js and react SDKs build when `npm install` is run, so we ensure that we only listen for the `npm start` build for each SDK.

This is all done at the riot level instead of at the individual SDK levels (where we could use a canary file to signal up the stack) because:
* babel (used by the js-sdk) doesn't really provide an "end up build" signal
* webpack is a bit of a nightmare to get it to behave at times
* this blocking approach is really only applicable to riot-web, although may be useful to some other projects.

Hopefully that all makes sense.
2018-09-24 17:12:42 -06:00
Travis Ralston c6da122e41 Fix npm link in the build script 2018-09-17 17:57:27 -06:00
Travis Ralston 67e9606d55 Reduce the number of terminals required to build riot-web to 1
A step towards a real solution for https://github.com/vector-im/riot-web/issues/7305

This approach makes use of `npm link` to remove the use of symlinks in the build process. The build process has also been altered to invoke the build process of each underlying SDK (react, js). This means that one can now `npm link` and `npm start` and have a working environment. 

At the same time, parallelshell was dropped due to lack of maintenance from the maintainer.
2018-09-17 17:50:03 -06:00
David Baker e1394d592a Allow translation tags object to be a variable
Don't try to validate the translation tags if it's not an object literal.
2018-09-14 14:11:59 +01:00
David Baker 8a167d2743 Add Norsk & Italian 2018-08-16 15:04:17 +01:00
Michael Telatynski 07f0713a56 allow autocompleting Emoji by common aliases, e.g 👍 to 👍
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-24 17:06:45 +01:00
Michael Telatynski 7225f7372c Revert " make click to insert nick work on join/parts, /me's etc" 2018-07-03 10:30:08 +01:00
Michael Telatynski dddf7991b9 create map-i18n to aid with transforming the i18n entries not to waste them
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-29 14:56:06 +01:00
David Baker 9f8202c8a9 Remove directories if they exist 2018-05-02 16:49:08 +01:00
David Baker 82349ec933 Fix sed 2018-05-02 16:43:51 +01:00
David Baker 183947615f Fux up jenkins origin/ branches 2018-05-02 16:39:10 +01:00
David Baker 0040ea0d9f Use develop js-sdk in travis build 2018-05-02 15:53:38 +01:00
David Baker 9bccecf449 Get symlink right
Also No need to cd into the symlink, can just go straight there
2018-05-02 11:23:57 +01:00
David Baker 825d610938 Bah, no pushd.
Also this npm install should now be unnecessary
2018-05-02 11:13:16 +01:00
David Baker c54198464b npm install the js-sdk 2018-05-02 11:09:28 +01:00
David Baker b44582777b Would if I added the script 2018-05-02 11:03:40 +01:00
David Baker 730512bc3f Use the right js-sdk branch when testing
On the react-sdk tests not just riot-web
2018-05-02 10:58:43 +01:00