573 Commits

Author SHA1 Message Date
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
David Baker
0abaff5aed Copy media from react-sdk
Looks like this just got missed

Fixes https://github.com/vector-im/riot-web/issues/6586
2018-04-23 17:27:35 +01:00
David Baker
f012dd5f31 Fix favicon
In removing 'media' here, it changed the meaning of the copy so
the contents of vector-icons (rather than the dir itself) got
copied to webapp/
2018-04-23 11:28:01 +01:00
Matthew Hodgson
a46b718b4a copy resources from their new locations 2018-04-13 01:49:52 +01:00
Matthew Hodgson
40a67ca8fe point imports at the new locations 2018-04-13 00:43:44 +01:00
Krombel
57803f7a41 reorder based on language code 2018-03-17 16:24:47 +01:00
Krombel
14f70beac2 Add languages (czech, galician and serbian) 2018-03-17 11:27:10 +01:00
Luke Barnard
075f568f61 Fix crash; fs event received /w langauge file empty
It was common, at least for me, to experience a crash produced
when running the `matrix-react-sdk/scripts/gen-i18n.js` script
because when writing en_EN.json (via the script or otherwise)
choikdar would receive an event and cause the file to be read,
but the file would be empty when clearly it wasn't.

This would happen even when doing an atomic write in gen-i18n.

The fix adds a debounce as a workaround.
2018-03-02 15:30:06 +00:00
Ralitsa Bozhkova
90897b0741
Add Bulgarian to the list of languages
Bulgarian is now at 100% for both riot-web and matrix-react-sdk.
It has also been tested by building it manually and verifying that it looks good.
2018-02-24 10:28:39 +02:00
Simó Albert i Beltran
e56b16f7d1 Add Catalan 2018-01-25 18:25:46 +01:00
Matthew Hodgson
bddab533a3
Merge pull request #5938 from osoitz/master
Corrected language name
2018-01-07 20:34:19 +00:00
osoitz
5106809394
Update copy-res.js
Corrected Basque name
2018-01-07 20:39:24 +01:00
Luke Barnard
dff791d478 Add Slovak to included languages 2017-11-17 15:07:20 +00:00
Luke Barnard
9664b4d176 Add Slovak to included languages 2017-11-15 12:14:30 +00:00
Stefan Parviainen
9cf7e1b480 Validate tag replacements in gen-i18n 2017-11-13 20:20:14 +01:00
Matthew Hodgson
f86b616769 status homepage 2017-10-26 01:38:07 +01:00
David Baker
8447d15013 Don't include the |other in the translation value 2017-10-24 14:26:30 +01:00
David Baker
93fca8439e Merge pull request #1521 from matrix-org/dbkr/geni18n-addplural
Fix bug with gen-i18n/js when adding new plurals
2017-10-24 11:15:51 +01:00
David Baker
46e9d4197a Use the 'and' feature! 2017-10-24 10:21:41 +01:00
David Baker
2340c1308e Fix bug with gen-i18n/js when adding new plurals 2017-10-23 19:53:17 +01:00
David Baker
54458f1438 Actually even out brackets 2017-10-23 14:02:58 +01:00
David Baker
8d1aea5b2e Misc PR review fixes 2017-10-23 10:18:29 +01:00
Matthew Hodgson
01b3d6128c move status theme into a dedicated dir, and make fonts work 2017-10-22 17:03:39 +01:00
David Baker
317ad64ae6 Make the gen-i18n script validate _t calls
And throw a massive tantrum if you've messed up your format strings.

Because broken format strings making their way into the app cause it
to throw exceptions.
2017-10-20 18:38:22 +01:00
David Baker
d397858e81 Don't remove other plural variants 2017-10-19 14:39:23 +01:00
David Baker
8a9de7343c Add script to prune unused translations 2017-10-19 12:11:21 +01:00
David Baker
027a70ffe7 Add gen-i18n as a 'binary'
and add appropriate shebang
2017-10-19 10:51:54 +01:00
David Baker
1bada070ca Make gen-i18n support 'HTML'
Where by 'HTML' I mean just run the same regex as riot does over
some text.

Also make it walk multiple paths.

This mostly means it can be used for riot-web.
2017-10-18 19:36:07 +01:00
David Baker
2bbac903f1 'base file' is a bit overloaded by weblate 2017-10-18 14:45:04 +01:00
David Baker
caa4979e37 Comment ignoring getTKey returning null 2017-10-18 14:43:18 +01:00