From ee85c047965020af22b447b79163cfbb3abb7b73 Mon Sep 17 00:00:00 2001 From: Ben Parsons Date: Wed, 13 Mar 2019 17:54:46 +0000 Subject: [PATCH 01/47] "Render simple counters in room header" details --- docs/labs.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 docs/labs.md diff --git a/docs/labs.md b/docs/labs.md new file mode 100644 index 00000000..6c9b801f --- /dev/null +++ b/docs/labs.md @@ -0,0 +1,30 @@ +# riot-web Labs features + +Some notes on the features you can enable by going to `Settings->Labs`. Not exhaustive, chat in [#riot-web:matrix.org] for more information. + +**Be warned! Labs features are not finalised, they may be fragile, they may change, they may be dropped. Ask in the room if you are unclear about any details here.** + +## Render simple counters in room header + +Allows rendering of labelled counters above the message list. + +Once enabled, send a custom state event to a room to set values: + +1. In a room, type `/devtools` to bring up the devtools interface +2. Click "Send Custom Event" +3. Toggle from "Event" to "State Event" +4. Set the event type to: `re.jki.counter` and give it a unique key +5. Specify the content in the following format: + +``` +{ + "link": "", + "severity": "normal", + "title": "my counter", + "value": 0 +} +``` + +That's it. Now should see your new counter under the header. + +[#riot-web:matrix.org]: https://matrix.to/#/#riot-web:matrix.org \ No newline at end of file From 52ad757cf46a670f8beaa8476691b3d24cd5107b Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Wed, 20 Mar 2019 18:05:02 +0000 Subject: [PATCH 02/47] Switch to `git` protocol for CI dependencies If you try to clone a repo that doesn't exist via `https`, `git` will prompt for auth credentials and hang forever. Using `git` avoids this and fails immediately instead, which is what we want for a missing repo. Part of https://github.com/vector-im/riot-web/issues/9221 --- scripts/fetch-develop.deps.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/fetch-develop.deps.sh b/scripts/fetch-develop.deps.sh index 2c5a5cf7..e7419718 100755 --- a/scripts/fetch-develop.deps.sh +++ b/scripts/fetch-develop.deps.sh @@ -25,7 +25,7 @@ function clone() { if [ -n "$branch" ] then echo "Trying to use $org/$repo#$branch" - git clone https://github.com/$org/$repo.git $repo --branch $branch \ + git clone git://github.com/$org/$repo.git $repo --branch $branch \ "${GIT_CLONE_ARGS[@]}" return $? fi From 930ac3ae18e622055dad1b3860d8f768c38b9e5f Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 20 Mar 2019 21:33:25 +0000 Subject: [PATCH 03/47] Add log grouping to buildkite It mostly truncates the log anyway but what are you gonna do --- .buildkite/pipeline.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.buildkite/pipeline.yaml b/.buildkite/pipeline.yaml index 55e65b05..20ec0ab9 100644 --- a/.buildkite/pipeline.yaml +++ b/.buildkite/pipeline.yaml @@ -10,13 +10,16 @@ steps: - label: ":karma: Tests" command: # Install chrome + - "echo '--- Installing Chrome'" - "wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -" - "sh -c 'echo \"deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main\" >> /etc/apt/sources.list.d/google.list'" - "apt-get update" - "apt-get install -y google-chrome-stable" # Run tests + - "echo '--- Fetching Dependencies'" - "./scripts/fetch-develop.deps.sh --depth 1" - "yarn install" + - "echo '+++ Running Tests'" - "yarn test" env: CHROME_BIN: "/usr/bin/google-chrome-stable" From 4792eb4aa4ace3a2d2308aa9d38d7d0908b08e0b Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Thu, 21 Mar 2019 11:31:12 +0100 Subject: [PATCH 04/47] bump matrix-react-sdk version to 1.0.5 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2984bcf1..02bb350f 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "gfm.css": "^1.1.2", "highlight.js": "^9.13.1", "matrix-js-sdk": "1.0.2", - "matrix-react-sdk": "1.0.4", + "matrix-react-sdk": "1.0.5", "modernizr": "^3.6.0", "olm": "https://matrix.org/packages/npm/olm/olm-3.1.0-pre1.tgz", "prop-types": "^15.6.2", From 0dd1a7b309f6afbe1ea39252c09d0c23cd534700 Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Thu, 21 Mar 2019 11:34:17 +0100 Subject: [PATCH 05/47] v1.0.5 --- electron_app/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/electron_app/package.json b/electron_app/package.json index cb3c9092..158783bd 100644 --- a/electron_app/package.json +++ b/electron_app/package.json @@ -2,7 +2,7 @@ "name": "riot-web", "productName": "Riot", "main": "src/electron-main.js", - "version": "1.0.4", + "version": "1.0.5", "description": "A feature-rich client for Matrix.org", "author": "New Vector Ltd.", "dependencies": { From a84a599f16d3085ab7c8f3d8029bce5251e32e89 Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Thu, 21 Mar 2019 11:37:35 +0100 Subject: [PATCH 06/47] Prepare changelog for v1.0.5 --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 33d26251..7308b0fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +Changes in [1.0.5](https://github.com/vector-im/riot-web/releases/tag/v1.0.5) (2019-03-21) +========================================================================================== +[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.4...v1.0.5) + + * Hotfix for [\#9205](https://github.com/vector-im/riot-web/issues/9205) disabling jump prevention for typing notifications, while we're reworking this functionally to enable it again soon. + Changes in [1.0.4](https://github.com/vector-im/riot-web/releases/tag/v1.0.4) (2019-03-18) ========================================================================================== [Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.4-rc.1...v1.0.4) From c8692473a42dcbd52f93c014e47bf95726d676cd Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Thu, 21 Mar 2019 11:37:35 +0100 Subject: [PATCH 07/47] v1.0.5 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 02bb350f..8bdfcd30 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "riot-web", "productName": "Riot", "main": "electron_app/src/electron-main.js", - "version": "1.0.4", + "version": "1.0.5", "description": "A feature-rich client for Matrix.org", "author": "New Vector Ltd.", "repository": { From 7fb4b32e8f73f624dc7321907f63ad6a911cd70f Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Thu, 21 Mar 2019 13:55:46 +0100 Subject: [PATCH 08/47] update react-sdk version in yarn lockfile --- yarn.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/yarn.lock b/yarn.lock index 98880ba2..b8e979e2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5757,10 +5757,10 @@ matrix-mock-request@^1.2.2: bluebird "^3.5.0" expect "^1.20.2" -matrix-react-sdk@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-1.0.4.tgz#cf6ef3d68f29af8ba590ceea74b20979522ef9cb" - integrity sha512-7qpnyXNnGvO/i+TPMoYayI4rWy6+hxnpjInx5Odgkw7PhCiapiYRU4poQsgVnOomkihrUWxuksWUmnkGhJ6O+Q== +matrix-react-sdk@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-1.0.5.tgz#92ca4f6780f76e183f47d2f96c79ada76492d77a" + integrity sha512-aaBmKQO4KM+U9eMhdJgbO/RZtmqayISk+qrcdcXtxDYjn2RZnziTNQ2289xG+dQb7A09Aev3u9rogrD6QCDI3w== dependencies: babel-plugin-syntax-dynamic-import "^6.18.0" babel-runtime "^6.26.0" From 8b097bcd8c08bb0f0deee82f1b1204ba72f2a16b Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Thu, 21 Mar 2019 11:00:06 -0600 Subject: [PATCH 09/47] Use medium agents for the more resource intensive builds --- .buildkite/pipeline.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.buildkite/pipeline.yaml b/.buildkite/pipeline.yaml index 20ec0ab9..8b658be0 100644 --- a/.buildkite/pipeline.yaml +++ b/.buildkite/pipeline.yaml @@ -8,6 +8,10 @@ steps: image: "node:10" - label: ":karma: Tests" + agents: + # We use a medium sized instance instead of the normal small ones because + # webpack loves to gorge itself on resources. + queue: "medium" command: # Install chrome - "echo '--- Installing Chrome'" From d098857d5a7df09af9c75c0960de23179234f253 Mon Sep 17 00:00:00 2001 From: Ben Parsons Date: Fri, 22 Mar 2019 14:49:44 +0000 Subject: [PATCH 10/47] wrap text and link from README.md --- README.md | 6 ++++++ docs/labs.md | 6 ++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6578e55e..16f41fcb 100644 --- a/README.md +++ b/README.md @@ -256,6 +256,12 @@ To change the config.json for the desktop app, create a config file which will b In the paths above, `$NAME` is typically `Riot`, unless you use `--profile $PROFILE` in which case it becomes `Riot-$PROFILE`. +Labs Features +============= + +Some features of Riot may be enabled by flags in the `Labs` section of the settings. +Some of these features are described in [labs.md](https://github.com/vector-im/riot-web/blob/develop/docs/labs.md). + Development =========== diff --git a/docs/labs.md b/docs/labs.md index 6c9b801f..65b16edf 100644 --- a/docs/labs.md +++ b/docs/labs.md @@ -1,8 +1,10 @@ # riot-web Labs features -Some notes on the features you can enable by going to `Settings->Labs`. Not exhaustive, chat in [#riot-web:matrix.org] for more information. +Some notes on the features you can enable by going to `Settings->Labs`. Not exhaustive, chat in +[#riot-web:matrix.org] for more information. -**Be warned! Labs features are not finalised, they may be fragile, they may change, they may be dropped. Ask in the room if you are unclear about any details here.** +**Be warned! Labs features are not finalised, they may be fragile, they may change, they may be +dropped. Ask in the room if you are unclear about any details here.** ## Render simple counters in room header From 9d133eea750dbc7bba5a7a659887af57169ca5e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20V=C3=A1gner?= Date: Tue, 26 Mar 2019 10:56:57 +0000 Subject: [PATCH 11/47] Translated using Weblate (Slovak) Currently translated at 63.1% (12 of 19 strings) Translation: Riot Web/riot-web Translate-URL: http://translate.riot.im/projects/riot-web/riot-web/sk/ --- src/i18n/strings/sk.json | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/sk.json b/src/i18n/strings/sk.json index e01933b2..a4a2a4e7 100644 --- a/src/i18n/strings/sk.json +++ b/src/i18n/strings/sk.json @@ -35,5 +35,12 @@ "Contributing code to Matrix and Riot": "Prispievanie kódu projektom Matrix a Riot", "Dev chat for the Riot/Web dev team": "Diskusia pre tím vývojárov Riot/Web", "Dev chat for the Dendrite dev team": "Diskusia pre tím vývojárov Dendrite", - "Co-ordination for Riot translators": "Koordinácia prekladov Riot" + "Co-ordination for Riot translators": "Koordinácia prekladov Riot", + "You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "Môžete použiť vlastné možnosti servera na prihlásenie sa k ďalším serverom Matrix zadaním URL adresy domovského servera. Toto vám umožní použiť Riot na prihlásenie sa k existujúcemu Matrix účtu na inom domovskom servery.", + "You can also set a custom identity server, but you won't be able to invite users by email address, or be invited by email address yourself.": "Môžete tiež nastaviť vlastnú URL adresu servera totožností, potom ale nebudete môcť pozývať používateľov zadaním ich emailovej adresy a telefónneho čísla a ani ostatní nebudú môcť pozvať vás zadaním vašej emailovej adresy a telefónneho čísla.", + "Sign In": "Prihlásiť sa", + "Create Account": "Vytvoriť účet", + "Need help?": "Potrebujete pomoc?", + "Explore rooms": "Preskúmať miestnosti", + "Room Directory": "Adresár miestností" } From f321aba4ac912946067091091448ce3e6128e774 Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Tue, 26 Mar 2019 12:46:26 +0000 Subject: [PATCH 12/47] Convert away from `Promise.defer` `Promise.defer` is deprecated in Bluebird and it logs loudly each time it's called. This cleans up testing logs significantly by converting away from it. --- test/app-tests/loading.js | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/test/app-tests/loading.js b/test/app-tests/loading.js index 7840d776..c3afc07d 100644 --- a/test/app-tests/loading.js +++ b/test/app-tests/loading.js @@ -123,9 +123,6 @@ describe('loading:', function() { toString: function() { return this.search + this.hash; }, }; - const tokenLoginCompleteDefer = Promise.defer(); - tokenLoginCompletePromise = tokenLoginCompleteDefer.promise; - function onNewScreen(screen) { console.log(Date.now() + " newscreen "+screen); const hash = '#/' + screen; @@ -157,18 +154,21 @@ describe('loading:', function() { PlatformPeg.set(new WebPlatform()); const params = parseQs(windowLocation); - matrixChat = ReactDOM.render( - tokenLoginCompleteDefer.resolve()} - initialScreenAfterLogin={getScreenFromLocation(windowLocation)} - makeRegistrationUrl={() => {throw new Error('Not implemented');}} - />, parentDiv, - ); + + tokenLoginCompletePromise = new Promise(resolve => { + matrixChat = ReactDOM.render( + {throw new Error('Not implemented');}} + />, parentDiv, + ); + }); } // set an expectation that we will get a call to /sync, then flush From 5112b33af2d4352e27d2a17a1d0b3b96299f2102 Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Tue, 26 Mar 2019 14:41:10 +0000 Subject: [PATCH 13/47] Remove unused test helper --- test/app-tests/loading.js | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/test/app-tests/loading.js b/test/app-tests/loading.js index c3afc07d..1e8b2f21 100644 --- a/test/app-tests/loading.js +++ b/test/app-tests/loading.js @@ -683,17 +683,6 @@ function awaitSyncingSpinner(matrixChat, retryLimit, retryCount) { return Promise.resolve(); } -function assertAtSyncingSpinner(matrixChat) { - const domComponent = ReactDOM.findDOMNode(matrixChat); - expect(domComponent.className).toEqual("mx_MatrixChat_splash"); - - ReactTestUtils.findRenderedComponentWithType( - matrixChat, sdk.getComponent('elements.Spinner')); - const logoutLink = ReactTestUtils.findRenderedDOMComponentWithTag( - matrixChat, 'a'); - expect(logoutLink.text).toEqual("Logout"); -} - function awaitRoomView(matrixChat, retryLimit, retryCount) { if (retryLimit === undefined) { retryLimit = 5; From f4a0ff3642cda9399d5cb09da9ba04b3cea3d00a Mon Sep 17 00:00:00 2001 From: Eden Tyler-Moss Date: Tue, 26 Mar 2019 14:44:27 +0000 Subject: [PATCH 14/47] Added translation using Weblate (English (United Kingdom)) --- src/i18n/strings/en_GB.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/i18n/strings/en_GB.json diff --git a/src/i18n/strings/en_GB.json b/src/i18n/strings/en_GB.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/src/i18n/strings/en_GB.json @@ -0,0 +1 @@ +{} From fef69b54fb1daa762bdb51fa03b140242dc6326c Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Tue, 26 Mar 2019 15:18:40 +0000 Subject: [PATCH 15/47] Use `on_logged_in` action in tests This changes the way tests wait for login to complete from a timer-based system (which can cause intermittent failures) to an action-based system. The lifecycle code dispatches the action `on_logged_in` when login completes which we can wait for in the tests as a much better indication that work is done. --- test/app-tests/loading.js | 63 ++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 37 deletions(-) diff --git a/test/app-tests/loading.js b/test/app-tests/loading.js index 1e8b2f21..6d9f2727 100644 --- a/test/app-tests/loading.js +++ b/test/app-tests/loading.js @@ -307,8 +307,8 @@ describe('loading:', function() { loadApp(); - return awaitSyncingSpinner(matrixChat).then(() => { - // we got a sync spinner - let the sync complete + return awaitLoggedIn(matrixChat).then(() => { + // we are logged in - let the sync complete return expectAndAwaitSync(); }).then(() => { // once the sync completes, we should have a room view @@ -327,8 +327,8 @@ describe('loading:', function() { loadApp(); - return awaitSyncingSpinner(matrixChat).then(() => { - // we got a sync spinner - let the sync complete + return awaitLoggedIn(matrixChat).then(() => { + // we are logged in - let the sync complete return expectAndAwaitSync(); }).then(() => { // once the sync completes, we should have a home page @@ -347,8 +347,8 @@ describe('loading:', function() { uriFragment: "#/room/!room:id", }); - return awaitSyncingSpinner(matrixChat).then(() => { - // we got a sync spinner - let the sync complete + return awaitLoggedIn(matrixChat).then(() => { + // we are logged in - let the sync complete return expectAndAwaitSync(); }).then(() => { // once the sync completes, we should have a room view @@ -417,9 +417,9 @@ describe('loading:', function() { return httpBackend.flush(); }).then(() => { - return awaitSyncingSpinner(matrixChat); + return awaitLoggedIn(matrixChat); }).then(() => { - // we got a sync spinner - let the sync complete + // we are logged in - let the sync complete return expectAndAwaitSync({isGuest: true}); }).then(() => { // once the sync completes, we should have a welcome page @@ -448,7 +448,7 @@ describe('loading:', function() { return httpBackend.flush(); }).then(() => { - return awaitSyncingSpinner(matrixChat); + return awaitLoggedIn(matrixChat); }).then(() => { return expectAndAwaitSync({isGuest: true}); }).then((req) => { @@ -482,7 +482,7 @@ describe('loading:', function() { return httpBackend.flush(); }).then(() => { - return awaitSyncingSpinner(matrixChat); + return awaitLoggedIn(matrixChat); }).then(() => { return expectAndAwaitSync({isGuest: true}); }).then(() => { @@ -507,7 +507,7 @@ describe('loading:', function() { }); return httpBackend.flush().then(() => { - return awaitSyncingSpinner(matrixChat); + return awaitLoggedIn(matrixChat); }).then(() => { // we got a sync spinner - let the sync complete return expectAndAwaitSync(); @@ -654,33 +654,22 @@ function assertAtLoadingSpinner(matrixChat) { expect(domComponent.children.length).toEqual(1); } -// we've got login creds, and are waiting for the sync to finish. -// the page includes a logout link. -function awaitSyncingSpinner(matrixChat, retryLimit, retryCount) { - if (retryLimit === undefined) { - retryLimit = 10; +function awaitLoggedIn(matrixChat) { + if (matrixChat.state.view === VIEWS.LOGGED_IN) { + return Promise.resolve(); } - if (retryCount === undefined) { - retryCount = 0; - } - - if (matrixChat.state.view === VIEWS.LOADING || - matrixChat.state.view === VIEWS.LOGGING_IN) { - console.log(Date.now() + " Awaiting sync spinner: still loading."); - if (retryCount >= retryLimit) { - throw new Error("MatrixChat still not loaded after " + - retryCount + " tries"); - } - // loading can take quite a long time, because we delete the - // indexedDB store. - return Promise.delay(5).then(() => { - return awaitSyncingSpinner(matrixChat, retryLimit, retryCount + 1); - }); - } - - console.log(Date.now() + " Awaiting sync spinner: load complete."); - - return Promise.resolve(); + return new Promise(resolve => { + const onAction = ({ action }) => { + if (action !== "on_logged_in") { + return; + } + console.log(Date.now() + ": Received on_logged_in action"); + dis.unregister(dispatcherRef); + resolve(); + }; + const dispatcherRef = dis.register(onAction); + console.log(Date.now() + ": Waiting for on_logged_in action"); + }); } function awaitRoomView(matrixChat, retryLimit, retryCount) { From a8e49496165b5b61b66cdc08b5be6f25c0487040 Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Wed, 27 Mar 2019 15:09:34 +0000 Subject: [PATCH 16/47] Update matrix-mock-request --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 40ace117..f3df9b9e 100644 --- a/package.json +++ b/package.json @@ -127,7 +127,7 @@ "karma-summary-reporter": "^1.5.1", "karma-webpack": "4.0.0-beta.0", "loader-utils": "^1.2.3", - "matrix-mock-request": "^1.2.2", + "matrix-mock-request": "^1.2.3", "matrix-react-test-utils": "^0.2.0", "minimist": "^1.2.0", "mkdirp": "^0.5.1", diff --git a/yarn.lock b/yarn.lock index b8e979e2..2665a2fc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5749,10 +5749,10 @@ matrix-js-sdk@1.0.2: request "^2.88.0" unhomoglyph "^1.0.2" -matrix-mock-request@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/matrix-mock-request/-/matrix-mock-request-1.2.2.tgz#2710bec0e009bb1562d92cdd7f0b77d5946b2ebd" - integrity sha512-9u86m6rOsKekNkqUUkStWXNULrY9G+9ibwolfrmgqTmgR76EGCr9fovM+JPWn4U+TbrewvHMALpPw8OxRg0ExA== +matrix-mock-request@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/matrix-mock-request/-/matrix-mock-request-1.2.3.tgz#56b15d86e2601a9b48a854844396d18caab649c8" + integrity sha512-Tr7LDHweTW8Ql4C8XhGQFGMzuh+HmPjOcQqrHH1qfSesq0cwdPWanvdnllNjeHoAMcZ43HpMFMzFZfNW1/6HYg== dependencies: bluebird "^3.5.0" expect "^1.20.2" From d7478963543a1e717f724c978fe6cd073edda478 Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 27 Mar 2019 17:44:30 +0000 Subject: [PATCH 17/47] react-sdk & js-sdk rc.1 --- package.json | 4 ++-- yarn.lock | 31 +++++++++++++++---------------- 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index f3df9b9e..8cfdf59f 100644 --- a/package.json +++ b/package.json @@ -70,8 +70,8 @@ "gemini-scrollbar": "github:matrix-org/gemini-scrollbar#b302279", "gfm.css": "^1.1.2", "highlight.js": "^9.13.1", - "matrix-js-sdk": "1.0.2", - "matrix-react-sdk": "1.0.5", + "matrix-js-sdk": "^1.0.3-rc.1", + "matrix-react-sdk": "^1.0.6-rc.1", "modernizr": "^3.6.0", "olm": "https://matrix.org/packages/npm/olm/olm-3.1.0-pre1.tgz", "prop-types": "^15.6.2", diff --git a/yarn.lock b/yarn.lock index 2665a2fc..7b37e0d3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5190,7 +5190,7 @@ isstream@~0.1.2: resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= -"jquery@>= 1.4.3", jquery@^3.3.1: +jquery@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.3.1.tgz#958ce29e81c9790f31be7792df5d4d95fc57fbca" integrity sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg== @@ -5732,10 +5732,10 @@ math-random@^1.0.1: resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.1.tgz#8b3aac588b8a66e4975e3cdea67f7bb329601fac" integrity sha1-izqsWIuKZuSXXjzepn97sylgH6w= -matrix-js-sdk@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-1.0.2.tgz#482d8d2076c7565cf7354722e96c9971e372182a" - integrity sha512-4WCBJFSoOLelHi7IUAcVxPQF+gTc/i9NUKZ77qwUfcZVED8VKTIyWZnwpeLgocK5gAOJV9fkAyO5mny9SkZaGg== +matrix-js-sdk@^1.0.3-rc.1: + version "1.0.3-rc.1" + resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-1.0.3-rc.1.tgz#61dea7fc2efd6f0a23e709443b4ac6a276890e9a" + integrity sha512-31aFwoAR9AIWhqHgJCYplXVFbaykXydm7GBvM/ffCjzN5OgAQEzUqwX18PfWKHVZHqijtj2VZOqnBVsXLX0w6Q== dependencies: another-json "^0.2.0" babel-runtime "^6.26.0" @@ -5757,10 +5757,10 @@ matrix-mock-request@^1.2.3: bluebird "^3.5.0" expect "^1.20.2" -matrix-react-sdk@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-1.0.5.tgz#92ca4f6780f76e183f47d2f96c79ada76492d77a" - integrity sha512-aaBmKQO4KM+U9eMhdJgbO/RZtmqayISk+qrcdcXtxDYjn2RZnziTNQ2289xG+dQb7A09Aev3u9rogrD6QCDI3w== +matrix-react-sdk@^1.0.6-rc.1: + version "1.0.6-rc.1" + resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-1.0.6-rc.1.tgz#349882288d668258bf04c76fa63a07e8d533bb7b" + integrity sha512-ulbvL7Cp7jJASL5tOMfrJJ95A0oNPQueaA8CDOmsa9Fu7O6sF415hTxQflO4xPYz/7BAs3jrExgMXpY48U5VHg== dependencies: babel-plugin-syntax-dynamic-import "^6.18.0" babel-runtime "^6.26.0" @@ -5786,7 +5786,7 @@ matrix-react-sdk@1.0.5: linkifyjs "^2.1.6" lodash "^4.13.1" lolex "2.3.2" - matrix-js-sdk "1.0.2" + matrix-js-sdk "^1.0.3-rc.1" optimist "^0.6.1" pako "^1.0.5" prop-types "^15.5.8" @@ -5806,7 +5806,7 @@ matrix-react-sdk@1.0.5: slate-react "^0.18.10" text-encoding-utf-8 "^1.0.1" url "^0.11.0" - velocity-vector "github:vector-im/velocity#059e3b2" + velocity-animate "^1.5.2" whatwg-fetch "^1.1.1" zxcvbn "^4.4.2" @@ -8995,11 +8995,10 @@ vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= -"velocity-vector@github:vector-im/velocity#059e3b2": - version "1.2.3" - resolved "https://codeload.github.com/vector-im/velocity/tar.gz/059e3b2348f1110888d033974d3109fd5a3af00f" - dependencies: - jquery ">= 1.4.3" +velocity-animate@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/velocity-animate/-/velocity-animate-1.5.2.tgz#5a351d75fca2a92756f5c3867548b873f6c32105" + integrity sha512-m6EXlCAMetKztO1ppBhGU1/1MR3IiEevO6ESq6rcrSQ3Q77xYSW13jkfXW88o4xMrkXJhy/U7j4wFR/twMB0Eg== verror@1.10.0: version "1.10.0" From f392a001381a3e753f5910d28d8561f6d258de9d Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 27 Mar 2019 17:46:32 +0000 Subject: [PATCH 18/47] v1.0.6-rc.1 --- electron_app/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/electron_app/package.json b/electron_app/package.json index 158783bd..a1217369 100644 --- a/electron_app/package.json +++ b/electron_app/package.json @@ -2,7 +2,7 @@ "name": "riot-web", "productName": "Riot", "main": "src/electron-main.js", - "version": "1.0.5", + "version": "1.0.6-rc.1", "description": "A feature-rich client for Matrix.org", "author": "New Vector Ltd.", "dependencies": { From c9e70fb0c6336cc495c2cac23382dd2d0f827e37 Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 27 Mar 2019 17:47:46 +0000 Subject: [PATCH 19/47] Prepare changelog for v1.0.6-rc.1 --- CHANGELOG.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7308b0fa..98e86196 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,38 @@ +Changes in [1.0.6-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.0.6-rc.1) (2019-03-27) +==================================================================================================== +[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.5...v1.0.6-rc.1) + + * Use `on_logged_in` action in tests + [\#9279](https://github.com/vector-im/riot-web/pull/9279) + * Convert away from `Promise.defer` + [\#9278](https://github.com/vector-im/riot-web/pull/9278) + * update react-sdk version in yarn lockfile + [\#9233](https://github.com/vector-im/riot-web/pull/9233) + * "Render simple counters in room header" details + [\#9154](https://github.com/vector-im/riot-web/pull/9154) + * Use medium agents for the more resource intensive builds + [\#9238](https://github.com/vector-im/riot-web/pull/9238) + * Add log grouping to buildkite + [\#9223](https://github.com/vector-im/riot-web/pull/9223) + * Switch to `git` protocol for CI dependencies + [\#9222](https://github.com/vector-im/riot-web/pull/9222) + * Support CI for matching branches on forks + [\#9212](https://github.com/vector-im/riot-web/pull/9212) + * Update from Weblate + [\#9199](https://github.com/vector-im/riot-web/pull/9199) + * Declare the officially supported browsers in the README + [\#9177](https://github.com/vector-im/riot-web/pull/9177) + * Document some desktop app things + [\#9011](https://github.com/vector-im/riot-web/pull/9011) + * Use Buildkite for CI + [\#9165](https://github.com/vector-im/riot-web/pull/9165) + * Update version number in issue templates + [\#9170](https://github.com/vector-im/riot-web/pull/9170) + * Remove node 8.x from the build matrix + [\#9159](https://github.com/vector-im/riot-web/pull/9159) + * Update Electron help menu link + [\#9157](https://github.com/vector-im/riot-web/pull/9157) + Changes in [1.0.5](https://github.com/vector-im/riot-web/releases/tag/v1.0.5) (2019-03-21) ========================================================================================== [Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.4...v1.0.5) From d1a5b79bc316195d61cdd8d9f3ae33483d5767bd Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 27 Mar 2019 17:47:47 +0000 Subject: [PATCH 20/47] v1.0.6-rc.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8cfdf59f..ade30d9e 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "riot-web", "productName": "Riot", "main": "electron_app/src/electron-main.js", - "version": "1.0.5", + "version": "1.0.6-rc.1", "description": "A feature-rich client for Matrix.org", "author": "New Vector Ltd.", "repository": { From 5a051824c052f39d226c68a764c1d410310fd185 Mon Sep 17 00:00:00 2001 From: Jonas Jelten Date: Wed, 27 Mar 2019 13:34:20 +0100 Subject: [PATCH 21/47] configure auth footer links through sdkconfig Signed-off-by: Jonas Jelten --- README.md | 2 ++ src/components/views/auth/VectorAuthFooter.js | 24 ++++++++++++++++--- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 16f41fcb..24c3f8c8 100644 --- a/README.md +++ b/README.md @@ -141,6 +141,8 @@ For a good example, see https://riot.im/develop/config.json. during authentication flows 1. `authHeaderLogoUrl`: An logo image that is shown in the header during authentication flows + 1. `authFooterLinks`: a list of links to show in the authentication page footer: + `[{"text": "Link text", "url": "https://link.target"}, {"text": "Other link", ...}]` 1. `integrations_ui_url`: URL to the web interface for the integrations server. The integrations server is not Riot and normally not your homeserver either. The integration server settings may be left blank to disable integrations. diff --git a/src/components/views/auth/VectorAuthFooter.js b/src/components/views/auth/VectorAuthFooter.js index 64674853..acc75278 100644 --- a/src/components/views/auth/VectorAuthFooter.js +++ b/src/components/views/auth/VectorAuthFooter.js @@ -18,6 +18,8 @@ limitations under the License. 'use strict'; const React = require('react'); +import SdkConfig from 'matrix-react-sdk/lib/SdkConfig'; + import { _t } from 'matrix-react-sdk/lib/languageHandler'; module.exports = React.createClass({ @@ -27,11 +29,27 @@ module.exports = React.createClass({ }, render: function() { + const brandingConfig = SdkConfig.get().branding; + let links = [ + {"text": "blog", "url": "https://medium.com/@RiotChat"}, + {"text": "twitter", "url": "https://twitter.com/@RiotChat"}, + {"text": "github", "url": "https://github.com/vector-im/riot-web"}, + ]; + + if (brandingConfig && brandingConfig.authFooterLinks) { + links = brandingConfig.authFooterLinks; + } + + const authFooterLinks = []; + for (const linkEntry of links) { + authFooterLinks.push( + {linkEntry.text}, + ); + } + return (
- blog - twitter - github + {authFooterLinks} { _t('powered by Matrix') }
); From fa100224964b0e965b7116e3500a430daf4ad44b Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Fri, 29 Mar 2019 15:58:41 +0000 Subject: [PATCH 22/47] Add `key` to footer links to appease React --- src/components/views/auth/VectorAuthFooter.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/views/auth/VectorAuthFooter.js b/src/components/views/auth/VectorAuthFooter.js index acc75278..46063133 100644 --- a/src/components/views/auth/VectorAuthFooter.js +++ b/src/components/views/auth/VectorAuthFooter.js @@ -43,7 +43,9 @@ module.exports = React.createClass({ const authFooterLinks = []; for (const linkEntry of links) { authFooterLinks.push( - {linkEntry.text}, + + {linkEntry.text} + , ); } From eb1d1517ca3ac889b0ef428c30a6b8ee2d0fec01 Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Fri, 29 Mar 2019 18:01:04 +0000 Subject: [PATCH 23/47] Setup crypto store for restore session tests The new storage consistency work expects a crypto store exist together with local storage. This updates the loading tests to create them together. Needed for https://github.com/vector-im/riot-web/issues/9109 --- test/app-tests/loading.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/test/app-tests/loading.js b/test/app-tests/loading.js index 6d9f2727..b2df82e6 100644 --- a/test/app-tests/loading.js +++ b/test/app-tests/loading.js @@ -293,12 +293,19 @@ describe('loading:', function() { }); describe("MatrixClient rehydrated from stored credentials:", function() { - beforeEach(function() { + beforeEach(async function() { localStorage.setItem("mx_hs_url", "http://localhost" ); localStorage.setItem("mx_is_url", "http://localhost" ); localStorage.setItem("mx_access_token", "access_token"); localStorage.setItem("mx_user_id", "@me:localhost"); localStorage.setItem("mx_last_room_id", "!last_room:id"); + + // Create a crypto store as well to satisfy storage consistency checks + const cryptoStore = new jssdk.IndexedDBCryptoStore( + indexedDB, + "matrix-js-sdk:crypto", + ); + await cryptoStore._connect(); }); it('shows the last known room by default', function() { From 866f8f54ec4b787038109c3e084a644cf82a07bd Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Fri, 29 Mar 2019 14:57:02 -0600 Subject: [PATCH 24/47] Add "Save image as..." button to context menu on images Fixes https://github.com/vector-im/riot-web/issues/9324 Requires https://github.com/matrix-org/matrix-react-sdk/pull/2848 --- electron_app/src/webcontents-handler.js | 38 ++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/electron_app/src/webcontents-handler.js b/electron_app/src/webcontents-handler.js index 15236169..a437f0fa 100644 --- a/electron_app/src/webcontents-handler.js +++ b/electron_app/src/webcontents-handler.js @@ -1,5 +1,7 @@ -const {clipboard, nativeImage, Menu, MenuItem, shell} = require('electron'); +const {clipboard, nativeImage, Menu, MenuItem, shell, dialog} = require('electron'); const url = require('url'); +const fs = require('fs'); +const request = require('request'); const MAILTO_PREFIX = "mailto:"; @@ -47,6 +49,7 @@ function onLinkContextMenu(ev, params) { })); } + let addSaveAs = false; if (params.mediaType && params.mediaType === 'image' && !url.startsWith('file://')) { popupMenu.append(new MenuItem({ label: 'Copy image', @@ -58,6 +61,10 @@ function onLinkContextMenu(ev, params) { } }, })); + + // We want the link to be ordered below the copy stuff, but don't want to duplicate + // the `if` statement, so use a flag. + addSaveAs = true; } // No point offering to copy a blob: URL either @@ -79,6 +86,35 @@ function onLinkContextMenu(ev, params) { })); } } + + if (addSaveAs) { + popupMenu.append(new MenuItem({ + label: 'Save image as...', + click() { + const targetFileName = params.titleText || "image.png"; + const filePath = dialog.showSaveDialog({ + defaultPath: targetFileName, + }); + + try { + if (url.startsWith("data:")) { + fs.writeFileSync(filePath, nativeImage.createFromDataURL(url)); + } else { + request.get(url).pipe(fs.createWriteStream(filePath)); + } + + } catch (err) { + console.error(err); + dialog.showMessageBox({ + type: "error", + title: "Failed to save image", + message: "The image failed to save", + }); + } + }, + })); + } + // popup() requires an options object even for no options popupMenu.popup({}); ev.preventDefault(); From 7a9cea4baa0da3d3122fe49e1e95595f26411222 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Fri, 29 Mar 2019 14:57:02 -0600 Subject: [PATCH 25/47] Add "Save image as..." button to context menu on images Fixes https://github.com/vector-im/riot-web/issues/9324 Requires https://github.com/matrix-org/matrix-react-sdk/pull/2848 --- electron_app/src/webcontents-handler.js | 38 ++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/electron_app/src/webcontents-handler.js b/electron_app/src/webcontents-handler.js index 15236169..a437f0fa 100644 --- a/electron_app/src/webcontents-handler.js +++ b/electron_app/src/webcontents-handler.js @@ -1,5 +1,7 @@ -const {clipboard, nativeImage, Menu, MenuItem, shell} = require('electron'); +const {clipboard, nativeImage, Menu, MenuItem, shell, dialog} = require('electron'); const url = require('url'); +const fs = require('fs'); +const request = require('request'); const MAILTO_PREFIX = "mailto:"; @@ -47,6 +49,7 @@ function onLinkContextMenu(ev, params) { })); } + let addSaveAs = false; if (params.mediaType && params.mediaType === 'image' && !url.startsWith('file://')) { popupMenu.append(new MenuItem({ label: 'Copy image', @@ -58,6 +61,10 @@ function onLinkContextMenu(ev, params) { } }, })); + + // We want the link to be ordered below the copy stuff, but don't want to duplicate + // the `if` statement, so use a flag. + addSaveAs = true; } // No point offering to copy a blob: URL either @@ -79,6 +86,35 @@ function onLinkContextMenu(ev, params) { })); } } + + if (addSaveAs) { + popupMenu.append(new MenuItem({ + label: 'Save image as...', + click() { + const targetFileName = params.titleText || "image.png"; + const filePath = dialog.showSaveDialog({ + defaultPath: targetFileName, + }); + + try { + if (url.startsWith("data:")) { + fs.writeFileSync(filePath, nativeImage.createFromDataURL(url)); + } else { + request.get(url).pipe(fs.createWriteStream(filePath)); + } + + } catch (err) { + console.error(err); + dialog.showMessageBox({ + type: "error", + title: "Failed to save image", + message: "The image failed to save", + }); + } + }, + })); + } + // popup() requires an options object even for no options popupMenu.popup({}); ev.preventDefault(); From bfa2101da06ca0713f6618279518be529b555611 Mon Sep 17 00:00:00 2001 From: Besnik Bleta Date: Mon, 18 Mar 2019 16:42:50 +0000 Subject: [PATCH 26/47] Translated using Weblate (Albanian) Currently translated at 100.0% (19 of 19 strings) Translation: Riot Web/riot-web Translate-URL: http://translate.riot.im/projects/riot-web/riot-web/sq/ --- src/i18n/strings/sq.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/sq.json b/src/i18n/strings/sq.json index 22862b58..24aeb38c 100644 --- a/src/i18n/strings/sq.json +++ b/src/i18n/strings/sq.json @@ -9,7 +9,7 @@ "Dismiss": "Mos e merr parasysh", "powered by Matrix": "bazuar në Matrix", "Welcome to Riot.im": "Mirë se vini te Riot.im", - "Decentralised, encrypted chat & collaboration powered by [matrix]": "Fjalosje & bashkëpunim i decentralizuar, i fshehtëzuar, bazuar në [matrix]", + "Decentralised, encrypted chat & collaboration powered by [matrix]": "Fjalosje & bashkëpunim të decentralizuar, të fshehtëzuar, bazuar në [matrix]", "Search the room directory": "Kërkoni te drejtoria e dhomave", "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Ka tashmë plot dhoma në Matrix, të lidhura me rrjete ekzistues (Slack, IRC, Gitter, etj) ose të pavarur. Hidhini një sy listës!", "Chat with Riot Bot": "Fjalosuni me Robotin Riot", From 128abb46d2a3deb6971fc8d7cc5f4e481563835c Mon Sep 17 00:00:00 2001 From: Nathan Follens Date: Thu, 28 Mar 2019 07:57:19 +0000 Subject: [PATCH 27/47] Translated using Weblate (Dutch) Currently translated at 100.0% (19 of 19 strings) Translation: Riot Web/riot-web Translate-URL: http://translate.riot.im/projects/riot-web/riot-web/nl/ --- src/i18n/strings/nl.json | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/i18n/strings/nl.json b/src/i18n/strings/nl.json index 5b180880..75b74b76 100644 --- a/src/i18n/strings/nl.json +++ b/src/i18n/strings/nl.json @@ -7,9 +7,9 @@ "Unknown device": "Onbekend apparaat", "You need to be using HTTPS to place a screen-sharing call.": "U moet HTTPS gebruiken om een oproep met schermdelen te kunnen starten.", "Welcome to Riot.im": "Welkom bij Riot.im", - "Decentralised, encrypted chat & collaboration powered by [matrix]": "Gedecentaliseerd en versleuteld chatten & samenwerken mogelijk gemaakt door [matrix]", + "Decentralised, encrypted chat & collaboration powered by [matrix]": "Gedecentraliseerd en versleuteld chatten & samenwerken mogelijk gemaakt door [matrix]", "Search the room directory": "De kamerlijst doorzoeken", - "Chat with Riot Bot": "Met Riot Bot chatten", + "Chat with Riot Bot": "Chatten met Riot-robot", "Get started with some tips from Riot Bot!": "Begin met enkele tips van Riot Bot!", "General discussion about Matrix and Riot": "Algemene discussie over Matrix en Riot", "Discussion of all things Matrix!": "Discussie over alles wat met Matrix te maken heeft!", @@ -35,5 +35,12 @@ "Dev chat for the Riot/Web dev team": "Dev-chat voor het Riot/Web ontwikkelteam", "Dev chat for the Dendrite dev team": "Dev-chat voor het Dendrite-ontwikkelteam", "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Je kan de custom serveropties gebruiken om op andere Matrix-servers in te loggen door een andere thuisserver-URL op te geven.
Dit laat je toe om Riot te gebruiken met een bestaand Matrix-account op een andere thuisserver.

Je kan ook een aangepaste-identiteitsserver opzetten maar dan kan je geen gebruikers uitnodigen via hun e-mailadres, of zelf uitgenodigd worden via je e-mailadres.", - "Co-ordination for Riot translators": "Coördinatie voor Riot vertalers" + "Co-ordination for Riot translators": "Coördinatie voor Riot vertalers", + "You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "U kunt de aangepaste serverinstellingen gebruiken om u aan te melden bij andere Matrix-servers, door een andere thuisserver-URL in te voeren. Dit laat u toe Riot te gebruiken met een bestaande Matrix-account bij een andere thuisserver.", + "You can also set a custom identity server, but you won't be able to invite users by email address, or be invited by email address yourself.": "U kunt ook een aangepaste identiteitsserver instellen, maar u zult geen gebruikers kunnen uitnodigen via e-mail, of zelf via e-mail uitgenodigd worden.", + "Sign In": "Aanmelden", + "Create Account": "Account aanmaken", + "Need help?": "Hulp nodig?", + "Explore rooms": "Kamers ontdekken", + "Room Directory": "Kamerlijst" } From 8ecdb484c39cfeb86164117fa36531d6d2c4d569 Mon Sep 17 00:00:00 2001 From: Eden Tyler-Moss Date: Tue, 26 Mar 2019 14:48:22 +0000 Subject: [PATCH 28/47] Translated using Weblate (English (United Kingdom)) Currently translated at 100.0% (19 of 19 strings) Translation: Riot Web/riot-web Translate-URL: http://translate.riot.im/projects/riot-web/riot-web/en_GB/ --- src/i18n/strings/en_GB.json | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/en_GB.json b/src/i18n/strings/en_GB.json index 0967ef42..c50914da 100644 --- a/src/i18n/strings/en_GB.json +++ b/src/i18n/strings/en_GB.json @@ -1 +1,21 @@ -{} +{ + "Riot Desktop on %(platformName)s": "Riot Desktop on %(platformName)s", + "Unknown device": "Unknown device", + "%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s on %(osName)s", + "You need to be using HTTPS to place a screen-sharing call.": "You need to be using HTTPS to place a screen-sharing call.", + "powered by Matrix": "powered by Matrix", + "Custom Server Options": "Custom server options", + "You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.", + "You can also set a custom identity server, but you won't be able to invite users by email address, or be invited by email address yourself.": "You can also set a custom identity server, but you won't be able to invite users by email address, or be invited by email address yourself.", + "Dismiss": "Dismiss", + "Welcome to Riot.im": "Welcome to Riot.im", + "Decentralised, encrypted chat & collaboration powered by [matrix]": "Decentralized, encrypted chat & collaboration powered by [matrix]", + "Sign In": "Sign In", + "Create Account": "Create Account", + "Need help?": "Need help?", + "Chat with Riot Bot": "Chat with Riot Bot", + "Explore rooms": "Explore rooms", + "Room Directory": "Room Directory", + "Search the room directory": "Search the room directory", + "Get started with some tips from Riot Bot!": "Get started with some tips from Riot Bot!" +} From f0a997629d369491105cd0fdec0dbc29330ac1d3 Mon Sep 17 00:00:00 2001 From: Carmen Bianca Bakker Date: Fri, 29 Mar 2019 11:25:06 +0000 Subject: [PATCH 29/47] Translated using Weblate (Esperanto) Currently translated at 63.1% (12 of 19 strings) Translation: Riot Web/riot-web Translate-URL: http://translate.riot.im/projects/riot-web/riot-web/eo/ --- src/i18n/strings/eo.json | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/i18n/strings/eo.json b/src/i18n/strings/eo.json index acf1a2a9..af493465 100644 --- a/src/i18n/strings/eo.json +++ b/src/i18n/strings/eo.json @@ -1,14 +1,14 @@ { "Dismiss": "Rezigni", - "powered by Matrix": "funkciigata de Matrix", + "powered by Matrix": "povigita per Matrix", "Custom Server Options": "Propraj servilaj elektoj", "Riot Desktop on %(platformName)s": "Riot Labortablo sur %(platformName)s", "Riot is not supported on mobile web. Install the app?": "Riot ne estas subtenata sur poŝkomputila reto. Ĉu instali la aplikaĵon?", "Unknown device": "Nekonata aparato", "You need to be using HTTPS to place a screen-sharing call.": "Vi devas uzi HTTPS por ekranvidadi.", - "Welcome to Riot.im": "Bonvenu al Riot.im", - "Decentralised, encrypted chat & collaboration powered by [matrix]": "Malcentra, ĉifrita babilado & kunlaboro povigita de [matrix]", - "Search the room directory": "Serĉi en la babilejo-listo", + "Welcome to Riot.im": "Bonvenon al Riot.im", + "Decentralised, encrypted chat & collaboration powered by [matrix]": "Malcentra, ĉifrita babilado & kunlaboro povigita per [matrix]", + "Search the room directory": "Serĉi en la ĉambra dosierujo", "Chat with Riot Bot": "Babilu kun la roboto Riot Bot", "Get started with some tips from Riot Bot!": "Komencu kun kelkaj sugestoj de la roboto Riot Bot!", "General discussion about Matrix and Riot": "Ĝenerala diskutado pri Matrix kaj Riot", @@ -35,5 +35,11 @@ "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Multaj ĉambroj jam ekzistas en Matrix; kaj sendependaj, kaj ligitaj kun jamaj retoj (Slock, IRC, Gitter, ktp.). Rigardu la ĉambrujon!", "%(appName)s via %(browserName)s on %(osName)s": "%(appName)s per %(browserName)s je %(osName)s", "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Vi povas uzi proprajn servilajn elektojn por saluti aliajn servilojn de Matrix, per specifo de alia hejmservila URL.
Tio permesas al vi uzi klienton Riot kun jama konto de Matrix en alia hejmservilo.

Vi ankaŭ povas agordi propran identigan servilon, sed vi ne povos inviti uzantojn per retpoŝtadreso, aŭ esti invitata per retpoŝtadreso mem.", - "Co-ordination for Riot translators": "Kunordigo por tradukantoj de Riot" + "Co-ordination for Riot translators": "Kunordigo por tradukantoj de Riot", + "You can also set a custom identity server, but you won't be able to invite users by email address, or be invited by email address yourself.": "Vi povas ankaŭ agordi propran identigan servilon, sed vi ne eblos inviti uzantojn per retpoŝtadresoj, nek eblos esti invitita per retpoŝtadreso.", + "Sign In": "Saluti", + "Create Account": "Krei konton", + "Need help?": "Ĉu vi bezonas helpon?", + "Explore rooms": "Esplori ĉambrojn", + "Room Directory": "Ĉambra dosierujo" } From a898aad667ba561c603305c0dc0f8b2c6000d1ef Mon Sep 17 00:00:00 2001 From: Samu Voutilainen Date: Fri, 29 Mar 2019 06:20:48 +0000 Subject: [PATCH 30/47] Translated using Weblate (Finnish) Currently translated at 100.0% (19 of 19 strings) Translation: Riot Web/riot-web Translate-URL: http://translate.riot.im/projects/riot-web/riot-web/fi/ --- src/i18n/strings/fi.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/fi.json b/src/i18n/strings/fi.json index 596ff51f..aca6dbe0 100644 --- a/src/i18n/strings/fi.json +++ b/src/i18n/strings/fi.json @@ -2,7 +2,7 @@ "Dismiss": "Hylkää", "Unknown device": "Tuntematon laite", "Welcome to Riot.im": "Tervetuloa Riot.im -palveluun", - "Search the room directory": "Hae hakemistosta", + "Search the room directory": "Hae luettelosta", "Custom Server Options": "Palvelinasetukset", "Riot Desktop on %(platformName)s": "Riot Desktop %(platformName)s", "You need to be using HTTPS to place a screen-sharing call.": "Sinun täytyy käyttää HTTPS -yhteyttä, jotta voit jakaa ruudun.", @@ -41,5 +41,5 @@ "Create Account": "Luo tunnus", "Need help?": "Tarvitsetko apua?", "Explore rooms": "Etsi huoneita", - "Room Directory": "Huonehakemisto" + "Room Directory": "Huoneluettelo" } From c82d4f3e44191397edc68cf5dc9ceee9b8d2a082 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miche=C3=A1l=20=C3=93=20h=C3=93g=C3=A1in?= Date: Sat, 23 Mar 2019 14:36:13 +0000 Subject: [PATCH 31/47] Translated using Weblate (Irish) Currently translated at 100.0% (19 of 19 strings) Translation: Riot Web/riot-web Translate-URL: http://translate.riot.im/projects/riot-web/riot-web/ga/ --- src/i18n/strings/ga.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/i18n/strings/ga.json b/src/i18n/strings/ga.json index dacb5c70..3b613da8 100644 --- a/src/i18n/strings/ga.json +++ b/src/i18n/strings/ga.json @@ -2,14 +2,14 @@ "Riot Desktop on %(platformName)s": "Leagan gnáthríomhaire Riot ar %(platformName)s", "Unknown device": "Gléas nár aithníodh", "%(appName)s via %(browserName)s on %(osName)s": "%(appName)s trí %(browserName)s ar %(osName)s", - "You need to be using HTTPS to place a screen-sharing call.": "Ní mór HTTPS a úsáid chun glaoch ina dhéantar an scáileán a roinnt a chuir.", - "powered by Matrix": "á thiomáint le Matrix", + "You need to be using HTTPS to place a screen-sharing call.": "Ní mór HTTPS a úsáid chun glaoch comhroinnt scáileáin a chur.", + "powered by Matrix": "cumhachtaithe ag Matrix", "Custom Server Options": "Socruithe do fhreastalaí saincheaptha", - "You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "Is féidir na socruithe do fhreastalaí saincheaptha a úsáid chun síniú isteach le freastalaí Matrix eile tríd URL freastalaí ar leith a sholáthar. Cuirfidh sé seo ar do chumas Riot a úsáid le cuntas Matrix atá ar taifead ag freastalaí difriúil.", - "You can also set a custom identity server, but you won't be able to invite users by email address, or be invited by email address yourself.": "Freisin is féidir freastalaí aitheantais saincheaptha a úsáid, ach le seo ní bheidh tú in ann cuireadh a thabhairt do dhaoine tríd seoladh ríomhphoist a sholáthar, nó glacadh le cuireadh trí ríomhphoist ach an oiread.", + "You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "Is féidir na socruithe do fhreastalaí saincheaptha a úsáid chun síniú isteach le freastalaithe Matrix eile ach URL freastalaí ar leith a shainiú. Cuirfidh sé seo ar do chumas Riot a úsáid le cuntas Matrix atá ar taifead ag an bhfreastalaí eile sin.", + "You can also set a custom identity server, but you won't be able to invite users by email address, or be invited by email address yourself.": "Freisin is féidir freastalaí aitheantais saincheaptha a úsáid, ach sa chás sin ní bheidh tú in ann cuireadh a thabhairt do dhaoine trí sheoladh ríomhphoist a sholáthar, ná glacadh le cuireadh trí ríomhphoist ach an oiread.", "Dismiss": "Cuir uait", - "Welcome to Riot.im": "Fáilte chuig Riot.im", - "Decentralised, encrypted chat & collaboration powered by [matrix]": "Meán comhrá agus comhoibriú neamhláraithe agus criptithe á thiomáint le [matrix]", + "Welcome to Riot.im": "Fáilte romhat chuig Riot.im", + "Decentralised, encrypted chat & collaboration powered by [matrix]": "Meán comhrá agus comhoibriú, díláraithe agus criptithe, cumhachtaithe ag [matrix]", "Sign In": "Sínigh Isteach", "Create Account": "Déan cuntas a chruthú", "Need help?": "An bhfuil cabhair uait?", @@ -17,5 +17,5 @@ "Explore rooms": "Breathnaigh thart ar na seomraí", "Room Directory": "Eolaire na Seomraí", "Search the room directory": "Cuardaigh eolaire na seomraí", - "Get started with some tips from Riot Bot!": "Tosaigh le nod ó Riot Bot!" + "Get started with some tips from Riot Bot!": "Tosaigh le roinnt nod ó Riot Bot!" } From 0837affa240790d253f9bb19cb0c1bcc3d0f2789 Mon Sep 17 00:00:00 2001 From: random Date: Tue, 19 Mar 2019 14:47:40 +0000 Subject: [PATCH 32/47] Translated using Weblate (Italian) Currently translated at 100.0% (19 of 19 strings) Translation: Riot Web/riot-web Translate-URL: http://translate.riot.im/projects/riot-web/riot-web/it/ --- src/i18n/strings/it.json | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/it.json b/src/i18n/strings/it.json index 6b54fe22..c3f494bc 100644 --- a/src/i18n/strings/it.json +++ b/src/i18n/strings/it.json @@ -6,7 +6,7 @@ "Riot is not supported on mobile web. Install the app?": "Riot non è supportato sul web mobile. Installare l'applicazione?", "Unknown device": "Dispositivo sconosciuto", "You need to be using HTTPS to place a screen-sharing call.": "Devi usare HTTPS per effettuare una chiamata con la condivisione dello schermo.", - "Welcome to Riot.im": "Benvenuto/a su Riot.im", + "Welcome to Riot.im": "Benvenuti su Riot.im", "Search the room directory": "Cerca nella lista delle stanze", "Chat with Riot Bot": "Chatta con Riot Bot", "Get started with some tips from Riot Bot!": "Inizia con alcuni consigli di Riot Bot!", @@ -35,5 +35,12 @@ "Dev chat for the Dendrite dev team": "Chat per gli sviluppatori di Dendrite", "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Esistono già molte stanze in Matrix, collegate a reti esistenti (Slack, IRC, Gitter, ecc.) o indipendenti. Controlla l'elenco!", "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Puoi usare le opzioni server personalizzate per accedere ad altri server Matrix specificando l'indirizzo del server home.
Questo permette di usare Riot con un account Matrix esistente su un server home diverso.

È anche possibile impostare un diverso server identità, ma in tal caso non sarà possibile invitare utenti attraverso l'indirizzo e-mail o essere invitati attraverso l'indirizzo e-mail.", - "Co-ordination for Riot translators": "Coordinazione per i traduttori di Riot" + "Co-ordination for Riot translators": "Coordinazione per i traduttori di Riot", + "You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "Puoi usare le opzioni di server personalizzato per accedere ad altri server Matrix specificando un URL homeserver diverso. Ciò ti permette di usare Riot con un account Matrix esistente su un homeserver differente.", + "You can also set a custom identity server, but you won't be able to invite users by email address, or be invited by email address yourself.": "Puoi anche impostare un server di identità personalizzato, ma non sarai in grado di invitare utenti via email o di essere invitato via email.", + "Sign In": "Accedi", + "Create Account": "Crea account", + "Need help?": "Serve aiuto?", + "Explore rooms": "Esplora stanze", + "Room Directory": "Elenco stanze" } From bc705777019b484f6ec6f3f92db6fc3793973a52 Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 1 Apr 2019 11:00:31 +0000 Subject: [PATCH 33/47] Deleted translation using Weblate (English (United Kingdom)) --- src/i18n/strings/en_GB.json | 21 --------------------- 1 file changed, 21 deletions(-) delete mode 100644 src/i18n/strings/en_GB.json diff --git a/src/i18n/strings/en_GB.json b/src/i18n/strings/en_GB.json deleted file mode 100644 index c50914da..00000000 --- a/src/i18n/strings/en_GB.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "Riot Desktop on %(platformName)s": "Riot Desktop on %(platformName)s", - "Unknown device": "Unknown device", - "%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s on %(osName)s", - "You need to be using HTTPS to place a screen-sharing call.": "You need to be using HTTPS to place a screen-sharing call.", - "powered by Matrix": "powered by Matrix", - "Custom Server Options": "Custom server options", - "You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.", - "You can also set a custom identity server, but you won't be able to invite users by email address, or be invited by email address yourself.": "You can also set a custom identity server, but you won't be able to invite users by email address, or be invited by email address yourself.", - "Dismiss": "Dismiss", - "Welcome to Riot.im": "Welcome to Riot.im", - "Decentralised, encrypted chat & collaboration powered by [matrix]": "Decentralized, encrypted chat & collaboration powered by [matrix]", - "Sign In": "Sign In", - "Create Account": "Create Account", - "Need help?": "Need help?", - "Chat with Riot Bot": "Chat with Riot Bot", - "Explore rooms": "Explore rooms", - "Room Directory": "Room Directory", - "Search the room directory": "Search the room directory", - "Get started with some tips from Riot Bot!": "Get started with some tips from Riot Bot!" -} From 51f6d02cf1fb8d038dc12cc603cd7d98d720d657 Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 1 Apr 2019 13:52:11 +0100 Subject: [PATCH 34/47] Released js-sdk & react-sdk, and bump electron version --- package.json | 6 +++--- yarn.lock | 18 +++++++++--------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index ade30d9e..63fd0919 100644 --- a/package.json +++ b/package.json @@ -70,8 +70,8 @@ "gemini-scrollbar": "github:matrix-org/gemini-scrollbar#b302279", "gfm.css": "^1.1.2", "highlight.js": "^9.13.1", - "matrix-js-sdk": "^1.0.3-rc.1", - "matrix-react-sdk": "^1.0.6-rc.1", + "matrix-js-sdk": "1.0.3", + "matrix-react-sdk": "1.0.6", "modernizr": "^3.6.0", "olm": "https://matrix.org/packages/npm/olm/olm-3.1.0-pre1.tgz", "prop-types": "^15.6.2", @@ -150,7 +150,7 @@ }, "build": { "appId": "im.riot.app", - "electronVersion": "4.0.8", + "electronVersion": "4.1.3", "files": [ "node_modules/**", "src/**", diff --git a/yarn.lock b/yarn.lock index 7b37e0d3..3091fb32 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5732,10 +5732,10 @@ math-random@^1.0.1: resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.1.tgz#8b3aac588b8a66e4975e3cdea67f7bb329601fac" integrity sha1-izqsWIuKZuSXXjzepn97sylgH6w= -matrix-js-sdk@^1.0.3-rc.1: - version "1.0.3-rc.1" - resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-1.0.3-rc.1.tgz#61dea7fc2efd6f0a23e709443b4ac6a276890e9a" - integrity sha512-31aFwoAR9AIWhqHgJCYplXVFbaykXydm7GBvM/ffCjzN5OgAQEzUqwX18PfWKHVZHqijtj2VZOqnBVsXLX0w6Q== +matrix-js-sdk@1.0.3, matrix-js-sdk@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-1.0.3.tgz#d4cc46c4dc80278b78f8e0664741b08fcc395c79" + integrity sha512-YpF4NvnG2cttRmTPJ9yqs/KwlBXW15O7+nNMs1FKj1CqdW1Phwb0fcqvahjPgmfXyn5DFzU3Deiv9aNgDIlIog== dependencies: another-json "^0.2.0" babel-runtime "^6.26.0" @@ -5757,10 +5757,10 @@ matrix-mock-request@^1.2.3: bluebird "^3.5.0" expect "^1.20.2" -matrix-react-sdk@^1.0.6-rc.1: - version "1.0.6-rc.1" - resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-1.0.6-rc.1.tgz#349882288d668258bf04c76fa63a07e8d533bb7b" - integrity sha512-ulbvL7Cp7jJASL5tOMfrJJ95A0oNPQueaA8CDOmsa9Fu7O6sF415hTxQflO4xPYz/7BAs3jrExgMXpY48U5VHg== +matrix-react-sdk@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-1.0.6.tgz#5477cb6f20a5968394e46f55cd4345436fba6372" + integrity sha512-qu+BY0I6qu2py8lzOZRPY2xOabXRrU/87dotx6MhyzWFKw+xQav0EggZJeKYtCAvuafS2zpPscTZX0/11Z3MuA== dependencies: babel-plugin-syntax-dynamic-import "^6.18.0" babel-runtime "^6.26.0" @@ -5786,7 +5786,7 @@ matrix-react-sdk@^1.0.6-rc.1: linkifyjs "^2.1.6" lodash "^4.13.1" lolex "2.3.2" - matrix-js-sdk "^1.0.3-rc.1" + matrix-js-sdk "1.0.3" optimist "^0.6.1" pako "^1.0.5" prop-types "^15.5.8" From 2bac72fa3628ed206508ba0b7f1231caaa33de5b Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 1 Apr 2019 13:53:18 +0100 Subject: [PATCH 35/47] v1.0.6 --- electron_app/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/electron_app/package.json b/electron_app/package.json index a1217369..c51a7abb 100644 --- a/electron_app/package.json +++ b/electron_app/package.json @@ -2,7 +2,7 @@ "name": "riot-web", "productName": "Riot", "main": "src/electron-main.js", - "version": "1.0.6-rc.1", + "version": "1.0.6", "description": "A feature-rich client for Matrix.org", "author": "New Vector Ltd.", "dependencies": { From 3265f84266e35089e3701fd3dc9388c50a9ed21b Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 1 Apr 2019 13:55:12 +0100 Subject: [PATCH 36/47] Prepare changelog for v1.0.6 --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 98e86196..90a4cf98 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +Changes in [1.0.6](https://github.com/vector-im/riot-web/releases/tag/v1.0.6) (2019-04-01) +========================================================================================== +[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.6-rc.1...v1.0.6) + + * Add "Save image as..." button to context menu on images + [\#9327](https://github.com/vector-im/riot-web/pull/9327) + Changes in [1.0.6-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.0.6-rc.1) (2019-03-27) ==================================================================================================== [Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.5...v1.0.6-rc.1) From 164a0e0160b384a43aeed5d61b7a149e669f12f5 Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 1 Apr 2019 13:55:12 +0100 Subject: [PATCH 37/47] v1.0.6 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 63fd0919..630edfd6 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "riot-web", "productName": "Riot", "main": "electron_app/src/electron-main.js", - "version": "1.0.6-rc.1", + "version": "1.0.6", "description": "A feature-rich client for Matrix.org", "author": "New Vector Ltd.", "repository": { From 8b2d33ac0a4d18f5ae31b23dcd538e443c4158f5 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Mon, 1 Apr 2019 13:24:17 -0600 Subject: [PATCH 38/47] Don't try to save files the user didn't want to save Fixes https://github.com/vector-im/riot-web/issues/9350 --- electron_app/src/webcontents-handler.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/electron_app/src/webcontents-handler.js b/electron_app/src/webcontents-handler.js index a437f0fa..4bfb7876 100644 --- a/electron_app/src/webcontents-handler.js +++ b/electron_app/src/webcontents-handler.js @@ -96,13 +96,14 @@ function onLinkContextMenu(ev, params) { defaultPath: targetFileName, }); + if (!filePath) return; // user cancelled dialog + try { if (url.startsWith("data:")) { fs.writeFileSync(filePath, nativeImage.createFromDataURL(url)); } else { request.get(url).pipe(fs.createWriteStream(filePath)); } - } catch (err) { console.error(err); dialog.showMessageBox({ From b1c885a266af0d01747cd9c89e6847e95f0c81d8 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 2 Apr 2019 11:18:05 -0600 Subject: [PATCH 39/47] Expire mobile guide cookie after 24 hours See https://github.com/vector-im/riot-web/issues/9360 This is to prevent it from always working. Cookies without an expiration are supposed to expire at the end of the session, however the nature of mobile browsers means that the session is unlikely to ever end. --- src/vector/mobile_guide/index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/vector/mobile_guide/index.js b/src/vector/mobile_guide/index.js index 2c4785f3..9d8a4492 100644 --- a/src/vector/mobile_guide/index.js +++ b/src/vector/mobile_guide/index.js @@ -1,7 +1,8 @@ import {getVectorConfig} from '../getconfig'; function onBackToRiotClick() { - document.cookie = 'mobile_redirect_to_guide=false;path=/'; + // Cookie should expire in 24 hours + document.cookie = 'mobile_redirect_to_guide=false;path=/;max-age=86400'; window.location.href = '../'; } From f36a24fef00a199df98bc9bef67a3af14efe566a Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 2 Apr 2019 17:59:47 -0600 Subject: [PATCH 40/47] Fix autolaunch setting appearing toggled off Fixes https://github.com/vector-im/riot-web/issues/9123 The value used here is a function which returns a promise, not a flag. --- electron_app/src/electron-main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/electron_app/src/electron-main.js b/electron_app/src/electron-main.js index 99ddfbd1..e9659070 100644 --- a/electron_app/src/electron-main.js +++ b/electron_app/src/electron-main.js @@ -139,7 +139,7 @@ ipcMain.on('ipcCall', async function(ev, payload) { ret = autoUpdater.getFeedURL(); break; case 'getAutoLaunchEnabled': - ret = launcher.isEnabled; + ret = await launcher.isEnabled(); break; case 'setAutoLaunchEnabled': if (args[0]) { From 0d2668f2b16dadd9f613159a219da729f05422c2 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Wed, 3 Apr 2019 18:01:09 -0600 Subject: [PATCH 41/47] Step cookie down to 4 hours --- src/vector/mobile_guide/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/vector/mobile_guide/index.js b/src/vector/mobile_guide/index.js index 9d8a4492..b3cbff14 100644 --- a/src/vector/mobile_guide/index.js +++ b/src/vector/mobile_guide/index.js @@ -1,8 +1,8 @@ import {getVectorConfig} from '../getconfig'; function onBackToRiotClick() { - // Cookie should expire in 24 hours - document.cookie = 'mobile_redirect_to_guide=false;path=/;max-age=86400'; + // Cookie should expire in 4 hours + document.cookie = 'mobile_redirect_to_guide=false;path=/;max-age=14400'; window.location.href = '../'; } From b72ae197e55077842184696981f6ca53e668a452 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Wed, 3 Apr 2019 18:11:25 -0600 Subject: [PATCH 42/47] Use a different cookie to expire any cookies people may already have We also check for a specific value in case people set it to `true` for some reason. --- src/vector/index.js | 2 +- src/vector/mobile_guide/index.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/vector/index.js b/src/vector/index.js index 6a70b767..9d5c1dd4 100644 --- a/src/vector/index.js +++ b/src/vector/index.js @@ -272,7 +272,7 @@ async function loadApp() { const isIos = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; const isAndroid = /Android/.test(navigator.userAgent); if (isIos || isAndroid) { - if (!document.cookie.split(';').some((c) => c.startsWith('mobile_redirect_to_guide'))) { + if (document.cookie.indexOf("riot_mobile_redirect_to_guide=false") === -1) { window.location = "mobile_guide/"; return; } diff --git a/src/vector/mobile_guide/index.js b/src/vector/mobile_guide/index.js index b3cbff14..342643b4 100644 --- a/src/vector/mobile_guide/index.js +++ b/src/vector/mobile_guide/index.js @@ -2,7 +2,7 @@ import {getVectorConfig} from '../getconfig'; function onBackToRiotClick() { // Cookie should expire in 4 hours - document.cookie = 'mobile_redirect_to_guide=false;path=/;max-age=14400'; + document.cookie = 'riot_mobile_redirect_to_guide=false;path=/;max-age=14400'; window.location.href = '../'; } From ec08cd99aaa30f322b48da60365343c254d9f335 Mon Sep 17 00:00:00 2001 From: Hubert Chathi Date: Fri, 5 Apr 2019 16:22:06 -0400 Subject: [PATCH 43/47] bump olm version --- package.json | 2 +- yarn.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 630edfd6..5e43dcdb 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,7 @@ "matrix-js-sdk": "1.0.3", "matrix-react-sdk": "1.0.6", "modernizr": "^3.6.0", - "olm": "https://matrix.org/packages/npm/olm/olm-3.1.0-pre1.tgz", + "olm": "https://matrix.org/packages/npm/olm/olm-3.1.0-pre3.tgz", "prop-types": "^15.6.2", "react": "^15.6.0", "react-dom": "^15.6.0", diff --git a/yarn.lock b/yarn.lock index 3091fb32..0ce75b19 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6383,9 +6383,9 @@ obuf@^1.0.0, obuf@^1.1.2: resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== -"olm@https://matrix.org/packages/npm/olm/olm-3.1.0-pre1.tgz": - version "3.1.0-pre1" - resolved "https://matrix.org/packages/npm/olm/olm-3.1.0-pre1.tgz#54f14fa901ff5c81db516b3b2adb294b91726eaa" +"olm@https://matrix.org/packages/npm/olm/olm-3.1.0-pre3.tgz": + version "3.1.0-pre3" + resolved "https://matrix.org/packages/npm/olm/olm-3.1.0-pre3.tgz#525aa8191b4b6fcb07a3aa6815687780b99be411" on-finished@~2.3.0: version "2.3.0" From a5993419c4fc0248952221bd270e062a02aa6f92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20=C5=A0?= Date: Sun, 7 Apr 2019 19:34:31 +0000 Subject: [PATCH 44/47] Added translation using Weblate (Slovenian) --- src/i18n/strings/sl.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/i18n/strings/sl.json diff --git a/src/i18n/strings/sl.json b/src/i18n/strings/sl.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/src/i18n/strings/sl.json @@ -0,0 +1 @@ +{} From 9b8607fc64e80b9577b8c1e8bcc45f844160ce7e Mon Sep 17 00:00:00 2001 From: Nathan Follens Date: Tue, 2 Apr 2019 10:20:29 +0000 Subject: [PATCH 45/47] Translated using Weblate (Dutch) Currently translated at 100.0% (19 of 19 strings) Translation: Riot Web/riot-web Translate-URL: http://translate.riot.im/projects/riot-web/riot-web/nl/ --- src/i18n/strings/nl.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/nl.json b/src/i18n/strings/nl.json index 75b74b76..f2dc4676 100644 --- a/src/i18n/strings/nl.json +++ b/src/i18n/strings/nl.json @@ -8,7 +8,7 @@ "You need to be using HTTPS to place a screen-sharing call.": "U moet HTTPS gebruiken om een oproep met schermdelen te kunnen starten.", "Welcome to Riot.im": "Welkom bij Riot.im", "Decentralised, encrypted chat & collaboration powered by [matrix]": "Gedecentraliseerd en versleuteld chatten & samenwerken mogelijk gemaakt door [matrix]", - "Search the room directory": "De kamerlijst doorzoeken", + "Search the room directory": "De gesprekscatalogus doorzoeken", "Chat with Riot Bot": "Chatten met Riot-robot", "Get started with some tips from Riot Bot!": "Begin met enkele tips van Riot Bot!", "General discussion about Matrix and Riot": "Algemene discussie over Matrix en Riot", @@ -42,5 +42,5 @@ "Create Account": "Account aanmaken", "Need help?": "Hulp nodig?", "Explore rooms": "Kamers ontdekken", - "Room Directory": "Kamerlijst" + "Room Directory": "Gesprekscatalogus" } From 8d27ed986c14a1efa86e9193da9f328ed8509850 Mon Sep 17 00:00:00 2001 From: Tuomas Hietala Date: Tue, 2 Apr 2019 18:36:05 +0000 Subject: [PATCH 46/47] Translated using Weblate (Finnish) Currently translated at 100.0% (19 of 19 strings) Translation: Riot Web/riot-web Translate-URL: http://translate.riot.im/projects/riot-web/riot-web/fi/ --- src/i18n/strings/fi.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/i18n/strings/fi.json b/src/i18n/strings/fi.json index aca6dbe0..32bb2cc7 100644 --- a/src/i18n/strings/fi.json +++ b/src/i18n/strings/fi.json @@ -1,13 +1,13 @@ { "Dismiss": "Hylkää", "Unknown device": "Tuntematon laite", - "Welcome to Riot.im": "Tervetuloa Riot.im -palveluun", + "Welcome to Riot.im": "Tervetuloa Riot.im-palveluun", "Search the room directory": "Hae luettelosta", "Custom Server Options": "Palvelinasetukset", - "Riot Desktop on %(platformName)s": "Riot Desktop %(platformName)s", - "You need to be using HTTPS to place a screen-sharing call.": "Sinun täytyy käyttää HTTPS -yhteyttä, jotta voit jakaa ruudun.", + "Riot Desktop on %(platformName)s": "Riot Desktop, %(platformName)s", + "You need to be using HTTPS to place a screen-sharing call.": "Sinun täytyy käyttää HTTPS-yhteyttä, jotta voit jakaa ruudun puhelussa.", "Chat with Riot Bot": "Keskustele Riot-botin kanssa", - "Get started with some tips from Riot Bot!": "Aloita Riot Botin vinkkien avulla!", + "Get started with some tips from Riot Bot!": "Aloita Riot-botin vinkkien avulla!", "General discussion about Matrix and Riot": "Matrix- ja Riot keskustelut", "Discussion of all things Matrix!": "Keskustelu kaikesta Matrixiin liittyvästä!", "Riot/Web & Desktop chat": "Riot/Web & Työpöytä-keskustelu", @@ -32,13 +32,13 @@ "Riot is not supported on mobile web. Install the app?": "Riot ei tue laitettasi. Asenna mobiilisovellus?", "Design and implementation of E2E in Matrix": "Matrix päästä-päähän salauksen suunnittelu ja implementointi", "Contributing code to Matrix and Riot": "Osallistu kehitystyöhön", - "%(appName)s via %(browserName)s on %(osName)s": "%(appName)s %(browserName)s %(osName)s", - "Decentralised, encrypted chat & collaboration powered by [matrix]": "Salattua ja vikasietoista viestintää Matrix -teknologialla", + "%(appName)s via %(browserName)s on %(osName)s": "%(appName)s, %(browserName)s, %(osName)s", + "Decentralised, encrypted chat & collaboration powered by [matrix]": "Hajautettua ja salattua viestintää Matrix-teknologialla", "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Voit käyttää edistyksellisiä asetuksia kirjautuaksesi muille Matrix palvelimille, määrittelemällä kotipalvelimen URL-osoitteen.
Tämän avulla voit käyttää Riot:ia olemassa olevalla toisen Matrix palvelimen käyttäjätilillä.

Voit myös asettaa valinnaisen identiteettipalvelimen, mutta et voi kutsua käyttäjiä sähköpostiosoitteella tai tulla kutsutuksi.", - "You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "Voit käyttää mukautettuja palvelinasetuksia kirjautuaksesi muihin Matrix-palvelimiin. Tämä mahdollistaa Riotin käyttämisen toisella palvelimella olevalla Matrix-tunnuksella.", - "You can also set a custom identity server, but you won't be able to invite users by email address, or be invited by email address yourself.": "Voit myös määrittää toisen identiteettipalvelimen, mutta et voi kutsua muita käyttäjiä sähköpostin perusteella, eivätkä se voi kutsua sinua.", + "You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "Voit käyttää mukautettuja palvelinasetuksia kirjautuaksesi muihin Matrix-palvelimiin. Tämä mahdollistaa Riotin käyttämisen toisella kotipalvelimella olevalla Matrix-tilillä.", + "You can also set a custom identity server, but you won't be able to invite users by email address, or be invited by email address yourself.": "Voit myös määrittää toisen identiteettipalvelimen, mutta et voi kutsua muita käyttäjiä sähköpostin perusteella tai saada itse kutsua sähköpostin perusteella.", "Sign In": "Kirjaudu sisään", - "Create Account": "Luo tunnus", + "Create Account": "Luo tili", "Need help?": "Tarvitsetko apua?", "Explore rooms": "Etsi huoneita", "Room Directory": "Huoneluettelo" From 1d23f8c2f4bd36db629954ccb51e181c3c54b449 Mon Sep 17 00:00:00 2001 From: Maros Dumitru Date: Fri, 5 Apr 2019 11:09:00 +0000 Subject: [PATCH 47/47] Translated using Weblate (Romanian) Currently translated at 100.0% (19 of 19 strings) Translation: Riot Web/riot-web Translate-URL: http://translate.riot.im/projects/riot-web/riot-web/ro/ --- src/i18n/strings/ro.json | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/ro.json b/src/i18n/strings/ro.json index 519b1a73..ce8fd634 100644 --- a/src/i18n/strings/ro.json +++ b/src/i18n/strings/ro.json @@ -35,5 +35,12 @@ "Co-ordination for Riot translators": "Coordonare pentru translatorii Riot", "%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s pe %(osName)s", "You need to be using HTTPS to place a screen-sharing call.": "Trebuie să folosești HTTPS pentru a plasa un apel de tip screen-sharing.", - "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Poți folosi opțiunile server personalizate pentru a te conecta la alte servere Matrix prin specificarea unui URL de tip Home server diferit.
Acestă opțiune îți permite să utilizezi Riot cu un cont existent pe un home server diferit.

Poți folosi și un server de identitate personalizat, dar nu vei putea invita alți utilizatori prin adresa de email sau să fii tu însuți invitat prim email." + "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.
This allows you to use Riot with an existing Matrix account on a different home server.

You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.": "Poți folosi opțiunile server personalizate pentru a te conecta la alte servere Matrix prin specificarea unui URL de tip Home server diferit.
Acestă opțiune îți permite să utilizezi Riot cu un cont existent pe un home server diferit.

Poți folosi și un server de identitate personalizat, dar nu vei putea invita alți utilizatori prin adresa de email sau să fii tu însuți invitat prim email.", + "You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use Riot with an existing Matrix account on a different homeserver.": "Puteți utiliza opțiunile personalizate ale serverului pentru a vă conecta la alte servere Matrix specificând o adresă URL diferită pentru homeserver. Acest lucru vă permite să utilizați Riot cu un cont Matrix existent pe un alt server de domiciliu.", + "You can also set a custom identity server, but you won't be able to invite users by email address, or be invited by email address yourself.": "De asemenea, puteți seta un server de identitate personalizat, dar nu veți putea să invitați utilizatorii pe adresa de e-mail sau să vă invitați personal pe adresa de e-mail.", + "Sign In": "Autentificare", + "Create Account": "Înregistare", + "Need help?": "Ai nevoie de ajutor?", + "Explore rooms": "Explorează camerele", + "Room Directory": "Lista de camere" }