* Serve translation files from the karma server
* Port UserSettingsStore to ES6 exports because the test runner
gets confused by ES6 importing a commonjs module
* Remove extra spaces in translations strings for MELS
* Fix 'his/her' back to be 'their'
* Change test to expect singular 'invitation' for a single person
(there may be multiple invitations, but IMO this should be
'rejected n invitations' and we can play with the wording later,
I don't think the singular is any worse than the plural).
* set language in the MELS tests (and wait for it to complete)
* Don't bother setting lang in other tests for now
Make it reflect reality if it's been taken from the browser langs
by just getting what was saet in counterpart rather than the saved
setting.
Also fix style.
These must now make a dispatch to RoomViewStore instead of calling `viewRoom` directly on MatrixChat. This will call both `viewRoom` of MatrixChat _and_ the logic in RVS so there is some redundancy here. It'd be best to move as much as possible of viewRoom out to the RVS itself.
But for now, this fixes a bug that occures when leaving (the viewed room would not change).
This prevents RoomView from doing any peeking whilst the join/registration is in progress, causing weirdness with TimelinePanel getPendingEventList (which throws an error if called when peeking).
* Replace callbacks with promises
* Move plain functions to top level
* De-duplicate bits that fetched languages.json
* Take full language preference list from the browser if we
can get it, rather than just the first.
We no longer need the custom counterpart. The things that were
changed in it and reasosn we no lomger need them are:
1. set separator - this can be done with standard counterpart
2. ES6 port: this was done to allow importing as _t, but is
unnecessary with the _t wrapper function in react-sdk
(although also seems to work fine with
`import _t from 'counterpart';`)
3. Fallback to key name: unnecessary with
`setMissingEntryGenerator` in 0.18, but we've changed to just
using a fallback locale anyway since No code missing en
translations should ever make it to the devbelop branch.
4. Logging on missing translations. Unnecessary with
`onTranslationNotFound`, but now not used anyway because we
let missing translations show up in the UI as
'missing translation'
Bulk changes to imports coming in separate commit for easy reading.