From 638d93f4f9440cce2ccd11b5e1eed1db260ac7b4 Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 13 Mar 2019 14:49:06 +0000 Subject: [PATCH 01/47] js-sdk rc.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0fa4a829de..faa2f94957 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,7 @@ "linkifyjs": "^2.1.6", "lodash": "^4.13.1", "lolex": "2.3.2", - "matrix-js-sdk": "1.0.1", + "matrix-js-sdk": "1.0.2-rc.1", "optimist": "^0.6.1", "pako": "^1.0.5", "prop-types": "^15.5.8", From df234a8b94212f02a4160761cfd7774d52e2f315 Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 13 Mar 2019 14:54:16 +0000 Subject: [PATCH 02/47] Prepare changelog for v1.0.4-rc.1 --- CHANGELOG.md | 109 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f237dcaea..6e3f6ee1d9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,112 @@ +Changes in [1.0.4-rc.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.0.4-rc.1) (2019-03-13) +============================================================================================================= +[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.0.3...v1.0.4-rc.1) + + * Update from Weblate + [\#2785](https://github.com/matrix-org/matrix-react-sdk/pull/2785) + * Remove padlock click handler to show unknown devices + [\#2784](https://github.com/matrix-org/matrix-react-sdk/pull/2784) + * Use modern Yarn version on Travis CI + [\#2783](https://github.com/matrix-org/matrix-react-sdk/pull/2783) + * Add versioning to integration manager API /register and /account calls + [\#2782](https://github.com/matrix-org/matrix-react-sdk/pull/2782) + * Ensure scalar_token is valid before opening integrations manager + [\#2777](https://github.com/matrix-org/matrix-react-sdk/pull/2777) + * Switch to `yarn` for dependency management + [\#2773](https://github.com/matrix-org/matrix-react-sdk/pull/2773) + * Use a distinct color for selected autocomplete items + [\#2778](https://github.com/matrix-org/matrix-react-sdk/pull/2778) + * Provide an escape from the registration process + [\#2775](https://github.com/matrix-org/matrix-react-sdk/pull/2775) + * Fix instantly sending RRs + [\#2770](https://github.com/matrix-org/matrix-react-sdk/pull/2770) + * Fix simple header counters to correctly handle zero, take two + [\#2776](https://github.com/matrix-org/matrix-react-sdk/pull/2776) + * Fix sticky hover state by listening for hover on the document + [\#2764](https://github.com/matrix-org/matrix-react-sdk/pull/2764) + * Fix header counters to correctly handle zero + [\#2772](https://github.com/matrix-org/matrix-react-sdk/pull/2772) + * Pass correct args when creating event permalink in context menu + [\#2774](https://github.com/matrix-org/matrix-react-sdk/pull/2774) + * Update from Weblate + [\#2771](https://github.com/matrix-org/matrix-react-sdk/pull/2771) + * Scroll investigation changes + [\#2766](https://github.com/matrix-org/matrix-react-sdk/pull/2766) + * Ability to bulk accept all invites (and fix rejecting all invites) + [\#2757](https://github.com/matrix-org/matrix-react-sdk/pull/2757) + * Don't trample over existing sessions when verifying email addresses + [\#2768](https://github.com/matrix-org/matrix-react-sdk/pull/2768) + * Misc fixes to StatusMessageContextMenu + [\#2767](https://github.com/matrix-org/matrix-react-sdk/pull/2767) + * Fix erroneously sending RRs, pt1. + [\#2769](https://github.com/matrix-org/matrix-react-sdk/pull/2769) + * Tweak country dropdown for redesign + [\#2765](https://github.com/matrix-org/matrix-react-sdk/pull/2765) + * Prevent space characters from stopping big emoji messages + [\#2745](https://github.com/matrix-org/matrix-react-sdk/pull/2745) + * Tweak auth components when dark theme is default + [\#2763](https://github.com/matrix-org/matrix-react-sdk/pull/2763) + * Move country dropdown inside field in Settings + [\#2756](https://github.com/matrix-org/matrix-react-sdk/pull/2756) + * npm audit fix --force + [\#2758](https://github.com/matrix-org/matrix-react-sdk/pull/2758) + * Use Field component in auth flows + [\#2749](https://github.com/matrix-org/matrix-react-sdk/pull/2749) + * Add /shrug command + [\#2660](https://github.com/matrix-org/matrix-react-sdk/pull/2660) + * Support linking to hosting providers + [\#2748](https://github.com/matrix-org/matrix-react-sdk/pull/2748) + * Get confirmation before enabling encryption + [\#2728](https://github.com/matrix-org/matrix-react-sdk/pull/2728) + * clear min-height for typing notifs when the timeline viewport changes size + [\#2747](https://github.com/matrix-org/matrix-react-sdk/pull/2747) + * Prevent flair pushing timeline downwards + [\#2746](https://github.com/matrix-org/matrix-react-sdk/pull/2746) + * Include tag name when warning about rooms running off lists + [\#2741](https://github.com/matrix-org/matrix-react-sdk/pull/2741) + * Reorganise props handling in Field + [\#2740](https://github.com/matrix-org/matrix-react-sdk/pull/2740) + * Limit Field label to size of input + [\#2742](https://github.com/matrix-org/matrix-react-sdk/pull/2742) + * Don't loop forever if you demote yourself via Enter on a PowerSelector + [\#2743](https://github.com/matrix-org/matrix-react-sdk/pull/2743) + * Check if users are already in the room before inviting them + [\#2734](https://github.com/matrix-org/matrix-react-sdk/pull/2734) + * Don't duplicate direct chats from other tags + [\#2735](https://github.com/matrix-org/matrix-react-sdk/pull/2735) + * Fix media device selectors not updating + [\#2739](https://github.com/matrix-org/matrix-react-sdk/pull/2739) + * Fix Room Directory custom homeserver entry not showing properly + [\#2708](https://github.com/matrix-org/matrix-react-sdk/pull/2708) + * Add missing permalinkCreator prop + [\#2729](https://github.com/matrix-org/matrix-react-sdk/pull/2729) + * Patch users not existing when opening settings + [\#2738](https://github.com/matrix-org/matrix-react-sdk/pull/2738) + * Use a mask for the continuation icon + [\#2737](https://github.com/matrix-org/matrix-react-sdk/pull/2737) + * Always insert rooms into lists when they get lost + [\#2736](https://github.com/matrix-org/matrix-react-sdk/pull/2736) + * Convert objects and such to usable strings in rageshake + [\#2732](https://github.com/matrix-org/matrix-react-sdk/pull/2732) + * Support stacking dialogs to prevent unmounting + [\#2724](https://github.com/matrix-org/matrix-react-sdk/pull/2724) + * Convert PowerSelector to use mxField instead + [\#2725](https://github.com/matrix-org/matrix-react-sdk/pull/2725) + * Don't re-enable the save button after saving profiles + [\#2726](https://github.com/matrix-org/matrix-react-sdk/pull/2726) + * Support multiple email pushers and remove the legacy UserSettingsStore + [\#2727](https://github.com/matrix-org/matrix-react-sdk/pull/2727) + * Bring back #528 fix as it still seems broken on OSX + [\#2731](https://github.com/matrix-org/matrix-react-sdk/pull/2731) + * Fix margin on e2e icon in member panel + [\#2721](https://github.com/matrix-org/matrix-react-sdk/pull/2721) + * Improved scrolling & pagination + [\#2676](https://github.com/matrix-org/matrix-react-sdk/pull/2676) + * Nudge karma to 3.1.2 + [\#2719](https://github.com/matrix-org/matrix-react-sdk/pull/2719) + * Stop listening to account data when the stickerpicker is unmounted + [\#2723](https://github.com/matrix-org/matrix-react-sdk/pull/2723) + Changes in [1.0.3](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.0.3) (2019-03-06) =================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.0.2...v1.0.3) From 77b0dc613f0a7b22f451465291adf4bd09d74f2e Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 13 Mar 2019 14:54:17 +0000 Subject: [PATCH 03/47] v1.0.4-rc.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index faa2f94957..321fdfb551 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "matrix-react-sdk", - "version": "1.0.3", + "version": "1.0.4-rc.1", "description": "SDK for matrix.org using React", "author": "matrix.org", "repository": { From 5ded646db0126f03f2d0db9f498bbd39caeff25d Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Thu, 14 Mar 2019 17:03:32 -0600 Subject: [PATCH 04/47] Warn that members won't be autojoined to upgraded rooms Fixes https://github.com/vector-im/riot-web/issues/8173 Wording is questionable though. --- src/components/views/rooms/RoomUpgradeWarningBar.js | 6 ++++++ src/i18n/strings/en_EN.json | 1 + 2 files changed, 7 insertions(+) diff --git a/src/components/views/rooms/RoomUpgradeWarningBar.js b/src/components/views/rooms/RoomUpgradeWarningBar.js index 3a11f46e51..32969cdd3d 100644 --- a/src/components/views/rooms/RoomUpgradeWarningBar.js +++ b/src/components/views/rooms/RoomUpgradeWarningBar.js @@ -72,6 +72,12 @@ module.exports = React.createClass({ return (
{upgradeText} +
+ {_t( + "Members of the room will be required to click a link to join the " + + "new room. No one will be automatically joined or invited to the new room.", + )} +
{_t("Only room administrators will see this warning")}
diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 2bda11a1dd..bfb8828fd3 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -581,6 +581,7 @@ "Camera": "Camera", "Voice & Video": "Voice & Video", "This room is not accessible by remote Matrix servers": "This room is not accessible by remote Matrix servers", + "Members of the room will be required to click a link to join the new room. No one will be automatically joined or invited to the new room.": "Members of the room will be required to click a link to join the new room. No one will be automatically joined or invited to the new room.", "Upgrade room to version %(ver)s": "Upgrade room to version %(ver)s", "Room information": "Room information", "Internal room ID:": "Internal room ID:", From 788041a774b02d20f4c0001db1d15ce2e1975f89 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Thu, 14 Mar 2019 17:11:44 -0600 Subject: [PATCH 05/47] Warn that members won't be invited to the new room in room settings --- res/css/views/settings/tabs/_SettingsTab.scss | 4 ++++ .../settings/tabs/room/AdvancedRoomSettingsTab.js | 14 +++++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/res/css/views/settings/tabs/_SettingsTab.scss b/res/css/views/settings/tabs/_SettingsTab.scss index 7fd8bceb50..88735f99b2 100644 --- a/res/css/views/settings/tabs/_SettingsTab.scss +++ b/res/css/views/settings/tabs/_SettingsTab.scss @@ -14,6 +14,10 @@ See the License for the specific language governing permissions and limitations under the License. */ +.mx_SettingsTab_warningText { + color: $warning-color; +} + .mx_SettingsTab_heading { font-size: 20px; font-weight: 600; diff --git a/src/components/views/settings/tabs/room/AdvancedRoomSettingsTab.js b/src/components/views/settings/tabs/room/AdvancedRoomSettingsTab.js index 3c6a7addc3..13ee39ccd7 100644 --- a/src/components/views/settings/tabs/room/AdvancedRoomSettingsTab.js +++ b/src/components/views/settings/tabs/room/AdvancedRoomSettingsTab.js @@ -67,9 +67,17 @@ export default class AdvancedRoomSettingsTab extends React.Component { let roomUpgradeButton; if (this.state.upgradeRecommendation && this.state.upgradeRecommendation.needsUpgrade) { roomUpgradeButton = ( - - {_t("Upgrade room to version %(ver)s", {ver: this.state.upgradeRecommendation.version})} - +
+

+ {_t( + "Members of the room will be required to click a link to join the new room. No " + + "one will be automatically joined or invited to the new room.", + )} +

+ + {_t("Upgrade room to version %(ver)s", {ver: this.state.upgradeRecommendation.version})} + +
); } From fba4b7235f4766d8f5a08abfd7dc82c0953a3006 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Thu, 14 Mar 2019 17:24:22 -0600 Subject: [PATCH 06/47] Add a confirmation prompt when upgrading the room via slashcommand Wording is questionable here, but the idea is to discourage non-power-users from accidentally upgrading their room. They should already be receiving a bunch of warnings if they should consider upgrading in the first place. --- src/SlashCommands.js | 39 ++++++++++++++++++++++++++++++++++++- src/i18n/strings/en_EN.json | 6 +++++- 2 files changed, 43 insertions(+), 2 deletions(-) diff --git a/src/SlashCommands.js b/src/SlashCommands.js index 711346c4a7..11018df081 100644 --- a/src/SlashCommands.js +++ b/src/SlashCommands.js @@ -28,6 +28,7 @@ import {MATRIXTO_URL_PATTERN} from "./linkify-matrix"; import * as querystring from "querystring"; import MultiInviter from './utils/MultiInviter'; import { linkifyAndSanitizeHtml } from './HtmlUtils'; +import QuestionDialog from "./components/views/dialogs/QuestionDialog"; class Command { constructor({name, args='', description, runFn, hideCompletionAfterSpace=false}) { @@ -105,7 +106,43 @@ export const CommandMap = { description: _td('Upgrades a room to a new version'), runFn: function(roomId, args) { if (args) { - return success(MatrixClientPeg.get().upgradeRoom(roomId, args)); + const room = MatrixClientPeg.get().getRoom(roomId); + Modal.createTrackedDialog('Slash Commands', 'upgrade room confirmation', + QuestionDialog, { + title: _t('Room upgrade confirmation'), + description: ( +
+ { _t( + "Upgrading your room in this way can be dangerous or unnecessary. Room upgrades " + + "are usually done to change the server's behaviour in a given room and not so much " + + "anything to do with client (Riot) behaviour.", + ) } +
+
+ { _t( + "Members of the room will be required to click a link to join the new room. No " + + "one will be automatically joined or invited to the new room.", + ) } +
+
+ { _t( + "Please confirm that you'd like to go forward with upgrading this room from " + + "%(oldVersion)s to %(newVersion)s", + { + oldVersion: room ? room.getVersion() : "1", + newVersion: args, + }, + ) } +
+ ), + button: _t("Upgrade Room"), + onFinished: (confirm) => { + if (!confirm) return; + + MatrixClientPeg.get().upgradeRoom(roomId, args); + }, + }); + return success(); } return reject(this.getUsage()); }, diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index bfb8828fd3..26113d3d4f 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -132,6 +132,11 @@ "/ddg is not a command": "/ddg is not a command", "To use it, just wait for autocomplete results to load and tab through them.": "To use it, just wait for autocomplete results to load and tab through them.", "Upgrades a room to a new version": "Upgrades a room to a new version", + "Room upgrade confirmation": "Room upgrade confirmation", + "Upgrading your room in this way can be dangerous or unnecessary. Room upgrades are usually done to change the server's behaviour in a given room and not so much anything to do with client (Riot) behaviour.": "Upgrading your room in this way can be dangerous or unnecessary. Room upgrades are usually done to change the server's behaviour in a given room and not so much anything to do with client (Riot) behaviour.", + "Members of the room will be required to click a link to join the new room. No one will be automatically joined or invited to the new room.": "Members of the room will be required to click a link to join the new room. No one will be automatically joined or invited to the new room.", + "Please confirm that you'd like to go forward with upgrading this room from %(oldVersion)s to %(newVersion)s": "Please confirm that you'd like to go forward with upgrading this room from %(oldVersion)s to %(newVersion)s", + "Upgrade Room": "Upgrade Room", "Changes your display nickname": "Changes your display nickname", "Changes your display nickname in the current room only": "Changes your display nickname in the current room only", "Changes colour scheme of current room": "Changes colour scheme of current room", @@ -581,7 +586,6 @@ "Camera": "Camera", "Voice & Video": "Voice & Video", "This room is not accessible by remote Matrix servers": "This room is not accessible by remote Matrix servers", - "Members of the room will be required to click a link to join the new room. No one will be automatically joined or invited to the new room.": "Members of the room will be required to click a link to join the new room. No one will be automatically joined or invited to the new room.", "Upgrade room to version %(ver)s": "Upgrade room to version %(ver)s", "Room information": "Room information", "Internal room ID:": "Internal room ID:", From 92b851b26c4b397cbdd66b615a8a36ae60b31603 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Fri, 15 Mar 2019 15:49:18 -0600 Subject: [PATCH 07/47] Update text for room version upgrades in settings --- .../settings/tabs/room/AdvancedRoomSettingsTab.js | 11 ++++++++--- src/i18n/strings/en_EN.json | 3 ++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/components/views/settings/tabs/room/AdvancedRoomSettingsTab.js b/src/components/views/settings/tabs/room/AdvancedRoomSettingsTab.js index 13ee39ccd7..8c56e17a13 100644 --- a/src/components/views/settings/tabs/room/AdvancedRoomSettingsTab.js +++ b/src/components/views/settings/tabs/room/AdvancedRoomSettingsTab.js @@ -70,12 +70,17 @@ export default class AdvancedRoomSettingsTab extends React.Component {

{_t( - "Members of the room will be required to click a link to join the new room. No " + - "one will be automatically joined or invited to the new room.", + "Warning: Upgrading a room will not automatically migrate room members " + + "to the new version of the room. We'll post a link to the new room in the old version " + + "of the room - room members will have to click this link to join the new room.", + {}, { + "b": (sub) => {sub}, + "i": (sub) => {sub}, + }, )}

- {_t("Upgrade room to version %(ver)s", {ver: this.state.upgradeRecommendation.version})} + {_t("Upgrade this room to the recommended room version")}
); diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index d450e92d71..a49fc485fe 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -586,7 +586,8 @@ "Camera": "Camera", "Voice & Video": "Voice & Video", "This room is not accessible by remote Matrix servers": "This room is not accessible by remote Matrix servers", - "Upgrade room to version %(ver)s": "Upgrade room to version %(ver)s", + "Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.", + "Upgrade this room to the recommended room version": "Upgrade this room to the recommended room version", "Room information": "Room information", "Internal room ID:": "Internal room ID:", "Room version": "Room version", From f6e3437944d781e4cb9bd0d3934568c5c026c281 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Fri, 15 Mar 2019 16:00:34 -0600 Subject: [PATCH 08/47] Update text in RoomUpgradeWarningBar to match suggestions --- .../views/rooms/_RoomUpgradeWarningBar.scss | 2 +- .../views/rooms/RoomUpgradeWarningBar.js | 66 +++++++++---------- src/i18n/strings/en_EN.json | 3 +- 3 files changed, 34 insertions(+), 37 deletions(-) diff --git a/res/css/views/rooms/_RoomUpgradeWarningBar.scss b/res/css/views/rooms/_RoomUpgradeWarningBar.scss index 82785b82d2..fe81d3801a 100644 --- a/res/css/views/rooms/_RoomUpgradeWarningBar.scss +++ b/res/css/views/rooms/_RoomUpgradeWarningBar.scss @@ -16,7 +16,7 @@ limitations under the License. .mx_RoomUpgradeWarningBar { text-align: center; - height: 176px; + height: 235px; background-color: $event-selected-color; align-items: center; flex-direction: column; diff --git a/src/components/views/rooms/RoomUpgradeWarningBar.js b/src/components/views/rooms/RoomUpgradeWarningBar.js index 32969cdd3d..589608dcfa 100644 --- a/src/components/views/rooms/RoomUpgradeWarningBar.js +++ b/src/components/views/rooms/RoomUpgradeWarningBar.js @@ -37,47 +37,43 @@ module.exports = React.createClass({ render: function() { const AccessibleButton = sdk.getComponent('elements.AccessibleButton'); - let upgradeText = ( -
+ return ( +
+
+ {_t( + "This room is running room version , which this homeserver has " + + "marked as unstable.", + {}, + { + "roomVersion": () => {this.props.room.getVersion()}, + "i": (sub) => {sub}, + }, + )} +
- {_t("This room is using an unstable room version. If you aren't expecting " + - "this, please upgrade the room.")} +

+ {_t( + "Upgrading this room will shut down the current instance of the room and create " + + "an upgraded room with the same name.", + )} +

+

+ {_t( + "Warning: Upgrading a room will not automatically migrate room members " + + "to the new version of the room. We'll post a link to the new room in the old " + + "version of the room - room members will have to click this link to join the new room.", + {}, { + "b": (sub) => {sub}, + "i": (sub) => {sub}, + }, + )} +

- {_t("Click here to upgrade to the latest room version.")} + {_t("Upgrade this room to the recommended room version")}

-
- ); - if (this.props.recommendation.urgent) { - upgradeText = ( -
-
- {_t("There is a known vulnerability affecting this room.")} -
-
- {_t("This room version is vulnerable to malicious modification of room state.")} -
-

- - {_t("Click here to upgrade to the latest room version and ensure room integrity " + - "is protected.")} - -

-
- ); - } - - return ( -
- {upgradeText} -
- {_t( - "Members of the room will be required to click a link to join the " + - "new room. No one will be automatically joined or invited to the new room.", - )} -
{_t("Only room administrators will see this warning")}
diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index a49fc485fe..976f902f27 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -812,7 +812,8 @@ "Click here to upgrade to the latest room version.": "Click here to upgrade to the latest room version.", "There is a known vulnerability affecting this room.": "There is a known vulnerability affecting this room.", "This room version is vulnerable to malicious modification of room state.": "This room version is vulnerable to malicious modification of room state.", - "Click here to upgrade to the latest room version and ensure room integrity is protected.": "Click here to upgrade to the latest room version and ensure room integrity is protected.", + "This room is running room version , which this homeserver has marked as unstable.": "This room is running room version , which this homeserver has marked as unstable.", + "Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.": "Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.", "Only room administrators will see this warning": "Only room administrators will see this warning", "This Room": "This Room", "All Rooms": "All Rooms", From 4777f851f8e282bd4cfa56203e5a44223141bca4 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Fri, 15 Mar 2019 16:08:48 -0600 Subject: [PATCH 09/47] Update text for /upgraderoom to match suggestions --- src/SlashCommands.js | 73 ++++++++++++++++++++++++++----------- src/i18n/strings/en_EN.json | 17 ++++----- 2 files changed, 58 insertions(+), 32 deletions(-) diff --git a/src/SlashCommands.js b/src/SlashCommands.js index 11018df081..dc653b45ab 100644 --- a/src/SlashCommands.js +++ b/src/SlashCommands.js @@ -112,30 +112,59 @@ export const CommandMap = { title: _t('Room upgrade confirmation'), description: (
- { _t( - "Upgrading your room in this way can be dangerous or unnecessary. Room upgrades " + - "are usually done to change the server's behaviour in a given room and not so much " + - "anything to do with client (Riot) behaviour.", - ) } -
-
- { _t( - "Members of the room will be required to click a link to join the new room. No " + - "one will be automatically joined or invited to the new room.", - ) } -
-
- { _t( - "Please confirm that you'd like to go forward with upgrading this room from " + - "%(oldVersion)s to %(newVersion)s", - { - oldVersion: room ? room.getVersion() : "1", - newVersion: args, - }, - ) } +

{_t("Upgrading a room can be destructive and isn't always necessary.")}

+

+ {_t( + "Room upgrades are usually recommended when a room version is considered " + + "unstable. Unstable room versions might have bugs, missing features, or " + + "security vulnerabilities.", + {}, { + "i": (sub) => {sub}, + }, + )} +

+

+ {_t( + "Room upgrades usually only affect server-side processing of the " + + "room. If you're having problems with your Riot client, please file an issue " + + "with .", + {}, { + "i": (sub) => {sub}, + "issueLink": () => { + return + https://github.com/vector-im/riot-web/issues/new/choose + ; + }, + } + )} +

+

+ {_t( + "Warning: Upgrading a room will not automatically migrate room " + + "members to the new version of the room. We'll post a link to the new room " + + "in the old version of the room - room members will have to click this link to " + + "join the new room.", + {}, { + "b": (sub) => {sub}, + "i": (sub) => {sub}, + }, + )} +

+

+ {_t( + "Please confirm that you'd like to go forward with upgrading this room " + + "from to ", + {}, + { + oldVersion: () => {room ? room.getVersion() : "1"}, + newVersion: () => {args}, + }, + )} +

), - button: _t("Upgrade Room"), + button: _t("Upgrade"), onFinished: (confirm) => { if (!confirm) return; diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 976f902f27..ef4bc75d27 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -133,10 +133,12 @@ "To use it, just wait for autocomplete results to load and tab through them.": "To use it, just wait for autocomplete results to load and tab through them.", "Upgrades a room to a new version": "Upgrades a room to a new version", "Room upgrade confirmation": "Room upgrade confirmation", - "Upgrading your room in this way can be dangerous or unnecessary. Room upgrades are usually done to change the server's behaviour in a given room and not so much anything to do with client (Riot) behaviour.": "Upgrading your room in this way can be dangerous or unnecessary. Room upgrades are usually done to change the server's behaviour in a given room and not so much anything to do with client (Riot) behaviour.", - "Members of the room will be required to click a link to join the new room. No one will be automatically joined or invited to the new room.": "Members of the room will be required to click a link to join the new room. No one will be automatically joined or invited to the new room.", - "Please confirm that you'd like to go forward with upgrading this room from %(oldVersion)s to %(newVersion)s": "Please confirm that you'd like to go forward with upgrading this room from %(oldVersion)s to %(newVersion)s", - "Upgrade Room": "Upgrade Room", + "Upgrading a room can be destructive and isn't always necessary.": "Upgrading a room can be destructive and isn't always necessary.", + "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.": "Room upgrades are usually recommended when a room version is considered unstable. Unstable room versions might have bugs, missing features, or security vulnerabilities.", + "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .": "Room upgrades usually only affect server-side processing of the room. If you're having problems with your Riot client, please file an issue with .", + "Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.", + "Please confirm that you'd like to go forward with upgrading this room from to ": "Please confirm that you'd like to go forward with upgrading this room from to ", + "Upgrade": "Upgrade", "Changes your display nickname": "Changes your display nickname", "Changes your display nickname in the current room only": "Changes your display nickname in the current room only", "Changes colour scheme of current room": "Changes colour scheme of current room", @@ -586,7 +588,6 @@ "Camera": "Camera", "Voice & Video": "Voice & Video", "This room is not accessible by remote Matrix servers": "This room is not accessible by remote Matrix servers", - "Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.": "Warning: Upgrading a room will not automatically migrate room members to the new version of the room. We'll post a link to the new room in the old version of the room - room members will have to click this link to join the new room.", "Upgrade this room to the recommended room version": "Upgrade this room to the recommended room version", "Room information": "Room information", "Internal room ID:": "Internal room ID:", @@ -808,11 +809,7 @@ "Not now": "Not now", "Don't ask me again": "Don't ask me again", "Add a topic": "Add a topic", - "This room is using an unstable room version. If you aren't expecting this, please upgrade the room.": "This room is using an unstable room version. If you aren't expecting this, please upgrade the room.", - "Click here to upgrade to the latest room version.": "Click here to upgrade to the latest room version.", - "There is a known vulnerability affecting this room.": "There is a known vulnerability affecting this room.", - "This room version is vulnerable to malicious modification of room state.": "This room version is vulnerable to malicious modification of room state.", - "This room is running room version , which this homeserver has marked as unstable.": "This room is running room version , which this homeserver has marked as unstable.", + "This room is running room version , which this homeserver has marked as unstable.": "This room is running room version , which this homeserver has marked as unstable.", "Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.": "Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.", "Only room administrators will see this warning": "Only room administrators will see this warning", "This Room": "This Room", From 7504927ed9303f98cce59cab52330c64ce5053ba Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Fri, 15 Mar 2019 16:37:32 -0600 Subject: [PATCH 10/47] Appease the linter --- src/SlashCommands.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SlashCommands.js b/src/SlashCommands.js index dc653b45ab..039ccb928f 100644 --- a/src/SlashCommands.js +++ b/src/SlashCommands.js @@ -136,7 +136,7 @@ export const CommandMap = { https://github.com/vector-im/riot-web/issues/new/choose ; }, - } + }, )}

From 27c9b24cab605c599fba046447b2d4c15697b087 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Fri, 15 Mar 2019 16:44:27 -0600 Subject: [PATCH 11/47] Appease more of the linter --- .../views/settings/tabs/room/AdvancedRoomSettingsTab.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/views/settings/tabs/room/AdvancedRoomSettingsTab.js b/src/components/views/settings/tabs/room/AdvancedRoomSettingsTab.js index 8c56e17a13..cabc196e40 100644 --- a/src/components/views/settings/tabs/room/AdvancedRoomSettingsTab.js +++ b/src/components/views/settings/tabs/room/AdvancedRoomSettingsTab.js @@ -71,8 +71,8 @@ export default class AdvancedRoomSettingsTab extends React.Component {

{_t( "Warning: Upgrading a room will not automatically migrate room members " + - "to the new version of the room. We'll post a link to the new room in the old version " + - "of the room - room members will have to click this link to join the new room.", + "to the new version of the room. We'll post a link to the new room in the old " + + "version of the room - room members will have to click this link to join the new room.", {}, { "b": (sub) => {sub}, "i": (sub) => {sub}, From b68960ad261b299d5cf1b991b196922a81919da9 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Fri, 15 Mar 2019 22:24:27 -0600 Subject: [PATCH 12/47] Reload widget messaging when widgets reload Fixes a bug for some widgets where they cannot do their startup routine (capabilities negotiation, etc) when someone maximizes the widget. By reloading the widget messaging, we ensure the widget is kept in the loop. --- src/components/views/elements/AppTile.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/components/views/elements/AppTile.js b/src/components/views/elements/AppTile.js index fe0141dde0..8ed408ffbe 100644 --- a/src/components/views/elements/AppTile.js +++ b/src/components/views/elements/AppTile.js @@ -336,9 +336,14 @@ export default class AppTile extends React.Component { * Called when widget iframe has finished loading */ _onLoaded() { - if (!ActiveWidgetStore.getWidgetMessaging(this.props.id)) { - this._setupWidgetMessaging(); + // Destroy the old widget messaging before starting it back up again. Some widgets + // have startup routines that run when they are loaded, so we just need to reinitialize + // the messaging for them. + if (ActiveWidgetStore.getWidgetMessaging(this.props.id)) { + ActiveWidgetStore.delWidgetMessaging(this.props.id); } + this._setupWidgetMessaging(); + ActiveWidgetStore.setRoomId(this.props.id, this.props.room.roomId); this.setState({loading: false}); } From 591a9683683a7285a8c7d336078c4541e8bfc6a6 Mon Sep 17 00:00:00 2001 From: David Baker Date: Sat, 16 Mar 2019 12:37:34 +0000 Subject: [PATCH 13/47] Update CustomRoomTagPanel.js --- src/components/structures/CustomRoomTagPanel.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/structures/CustomRoomTagPanel.js b/src/components/structures/CustomRoomTagPanel.js index d99204e40a..ee69d800ed 100644 --- a/src/components/structures/CustomRoomTagPanel.js +++ b/src/components/structures/CustomRoomTagPanel.js @@ -84,7 +84,7 @@ class CustomRoomTagTile extends React.Component { render() { const BaseAvatar = sdk.getComponent('avatars.BaseAvatar'); const AccessibleButton = sdk.getComponent('elements.AccessibleButton'); - const Tooltip = sdk.getComponent('rooms.Tooltip'); + const Tooltip = sdk.getComponent('elements.Tooltip'); const tag = this.props.tag; const avatarHeight = 40; From a397f333d7374ecadc16005999509743219af5a6 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Sat, 16 Mar 2019 16:02:38 -0600 Subject: [PATCH 14/47] Discard old sticker picker when the URL changes Fixes https://github.com/vector-im/riot-web/issues/7547 --- src/components/views/rooms/Stickerpicker.js | 23 ++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/components/views/rooms/Stickerpicker.js b/src/components/views/rooms/Stickerpicker.js index 2970a296ba..9d8912954c 100644 --- a/src/components/views/rooms/Stickerpicker.js +++ b/src/components/views/rooms/Stickerpicker.js @@ -25,6 +25,7 @@ import dis from '../../../dispatcher'; import AccessibleButton from '../elements/AccessibleButton'; import WidgetUtils from '../../../utils/WidgetUtils'; import ActiveWidgetStore from '../../../stores/ActiveWidgetStore'; +import PersistedElement from "../elements/PersistedElement"; const widgetType = 'm.stickerpicker'; @@ -32,6 +33,9 @@ const widgetType = 'm.stickerpicker'; // above it, so it needs a greater z-index than the ContextMenu const STICKERPICKER_Z_INDEX = 5000; +// Key to store the widget's AppTile under in PersistedElement +const PERSISTED_ELEMENT_KEY = "stickerPicker"; + export default class Stickerpicker extends React.Component { constructor(props) { super(props); @@ -126,6 +130,23 @@ export default class Stickerpicker extends React.Component { _updateWidget() { const stickerpickerWidget = WidgetUtils.getStickerpickerWidgets()[0]; + + const currentWidget = this.state.stickerpickerWidget; + let currentUrl = null; + if (currentWidget && currentWidget.content && currentWidget.content.url) { + currentUrl = currentWidget.content.url; + } + + let newUrl = null; + if (stickerpickerWidget && stickerpickerWidget.content && stickerpickerWidget.content.url) { + newUrl = stickerpickerWidget.content.url; + } + + if (newUrl !== currentUrl) { + // Destroy the existing frame so a new one can be created + PersistedElement.destroyElement(PERSISTED_ELEMENT_KEY); + } + this.setState({ stickerpickerWidget, widgetId: stickerpickerWidget ? stickerpickerWidget.id : null, @@ -211,7 +232,7 @@ export default class Stickerpicker extends React.Component { width: this.popoverWidth, }} > - + Date: Sat, 16 Mar 2019 23:02:16 +0000 Subject: [PATCH 15/47] Translated using Weblate (Russian) Currently translated at 85.2% (1330 of 1560 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: http://translate.riot.im/projects/riot-web/matrix-react-sdk/ru/ --- src/i18n/strings/ru.json | 37 +++++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index 6baff364ec..b0fec58321 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -1236,7 +1236,7 @@ "Increase performance by only loading room members on first view": "Увеличьте производительность, загрузив только список участников комнаты", "Lazy loading members not supported": "Задержка загрузки элементов не поддерживается", "Registration Required": "Требуется регистрация", - "You need to register to do this. Would you like to register now?": "Необходимо зарегистрироваться. Хотите зарегистрироваться?", + "You need to register to do this. Would you like to register now?": "Необходима регистрация. Хотите зарегистрироваться?", "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.": "Также можно изменить сервер идентификации, но без возможности приглашать (или быть приглашённым) по адресу электронной почты.", "Whether or not you're logged in (we don't record your username)": "Независимо от того, вошли вы или нет (мы не записываем ваше имя пользователя)", "Unable to load! Check your network connectivity and try again.": "Не удалось загрузить! Проверьте подключение к сети и попробуйте снова.", @@ -1257,7 +1257,7 @@ "%(names)s and %(count)s others are typing …|one": "%(names)s и ещё один печатают…", "%(names)s and %(lastPerson)s are typing …": "%(names)s и %(lastPerson)s печатают…", "This homeserver has hit its Monthly Active User limit.": "Сервер достиг ежемесячного ограничения активных пользователей.", - "This homeserver has exceeded one of its resource limits.": "Превышен один из ресурсных лимитов сервера.", + "This homeserver has exceeded one of its resource limits.": "Превышен один из лимитов на ресурсы сервера.", "Unable to connect to Homeserver. Retrying...": "Невозможно подключиться к серверу. Выполняется повторная попытка...", "Unrecognised address": "Нераспознанный адрес", "You do not have permission to invite people to this room.": "У вас нет разрешения приглашать людей в эту комнату.", @@ -1272,7 +1272,7 @@ "Avoid years that are associated with you": "Избегайте годов, которые связаны с вами", "Avoid dates and years that are associated with you": "Избегайте дат и годов, которые связаны с вами", "Capitalization doesn't help very much": "Заглавные буквы не особо помогают", - "All-uppercase is almost as easy to guess as all-lowercase": "Прописные буквы почти так же легко угадать, как строчные", + "All-uppercase is almost as easy to guess as all-lowercase": "Всё прописными буквами так же легко угадывается как и всё строчными", "Reversed words aren't much harder to guess": "Угадать перевёрнутые слова не сильно труднее", "Predictable substitutions like '@' instead of 'a' don't help very much": "Предсказуемые замены типа «@» вместо «a» не особо помогают", "Add another word or two. Uncommon words are better.": "Добавьте ещё слово или два. Лучше редких.", @@ -1285,12 +1285,12 @@ "This is a top-100 common password": "Это топ-100 распространенных паролей", "This is a very common password": "Это очень распространенный пароль", "This is similar to a commonly used password": "Это похоже на распространенный пароль", - "A word by itself is easy to guess": "Слово легко угадываемо", + "A word by itself is easy to guess": "Общеупотребительные слова легко угадываются", "Names and surnames by themselves are easy to guess": "Имена и фамилии легко угадываемы", - "Common names and surnames are easy to guess": "Общие имена и фамилии легко угадываемы", + "Common names and surnames are easy to guess": "Распространённые имена и фамилии легко угадываемы", "Straight rows of keys are easy to guess": "Прямые ряды клавиш легко угадываемы", "Short keyboard patterns are easy to guess": "Короткие клавиатурные шаблоны легко угадываемы", - "There was an error joining the room": "При входе в комнату произошла ошибка", + "There was an error joining the room": "Ошибка при входе в комнату", "Sorry, your homeserver is too old to participate in this room.": "Извините, ваш сервер слишком старый, для участия в этой комнате.", "Please contact your homeserver administrator.": "Пожалуйста, свяжитесь с администратором вашего сервера.", "Tabbed settings": "Настройки с вкладками", @@ -1383,7 +1383,7 @@ "Enable Community Filter Panel": "Включить панель сообществ", "Pin rooms I'm mentioned in to the top of the room list": "Помещать комнаты наверху списка, в которых меня упоминали", "Pin unread rooms to the top of the room list": "Помещать комнаты с непрочитанными сообщениями наверху списка", - "Prompt before sending invites to potentially invalid matrix IDs": "Подтверждать отправку приглашений на потенциально недействительных ID", + "Prompt before sending invites to potentially invalid matrix IDs": "Подтверждать отправку приглашений на потенциально недействительные matrix ID", "To continue, click on each pair to confirm it's correct.": "Для продолжения, нажмите на каждую пару, чтобы подтвердить правильность.", "Custom user status messages": "Модифицированный статус пользователя", "This device is using key backup": "Это устройство использует резервную копию ключей", @@ -1495,13 +1495,13 @@ "Pizza": "Пицца", "Cake": "Кекс", "Heart": "Сердце", - "Smiley": "Смайл", + "Smiley": "Смайлик", "Robot": "Робот", "Hat": "Шляпа", "Glasses": "Очки", "Spanner": "Гаечный ключ", "Santa": "Санта", - "Thumbs up": "Пальцы вверх", + "Thumbs up": "Большой палец вверх", "Umbrella": "Зонтик", "Hourglass": "Песочные часы", "Clock": "Часы", @@ -1530,5 +1530,22 @@ "Folder": "Папка", "Pin": "Кнопка", "Your homeserver does not support device management.": "Ваш сервер не поддерживает управление устройством.", - "Your keys are being backed up (the first backup could take a few minutes).": "Выполняется резервная копия ключей (первый раз это может занять несколько минут)." + "Your keys are being backed up (the first backup could take a few minutes).": "Выполняется резервная копия ключей (первый раз это может занять несколько минут).", + "The file '%(fileName)s' exceeds this homeserver's size limit for uploads": "Размер файла \"%(fileName)s\" превышает лимит текущего сервера на загрузку", + "Prepends ¯\\_(ツ)_/¯ to a plain-text message": "Добавляет смайл ¯\\_(ツ)_/¯ в начало сообщения", + "Changes your display nickname in the current room only": "Изменяет ваш псевдоним только для текущей комнаты", + "Gets or sets the room topic": "Читает или устанавливает тему комнаты", + "%(senderDisplayName)s made the room public to whoever knows the link.": "%(senderDisplayName)s делает комнату публичной для всех кто знает ссылку.", + "%(senderDisplayName)s made the room invite only.": "%(senderDisplayName)s делает комнату доступной только по приглашению.", + "%(senderDisplayName)s changed the join rule to %(rule)s": "%(senderDisplayName)s меняет правило входа на \"%(rule)s\"", + "%(senderDisplayName)s has allowed guests to join the room.": "%(senderDisplayName)s разрешает гостям присоединяться к комнате.", + "%(senderDisplayName)s has prevented guests from joining the room.": "%(senderDisplayName)s запрещает гостям присоединяться к комнате.", + "%(senderDisplayName)s changed guest access to %(rule)s": "%(senderDisplayName)s меняет гостевой доступ на \"%(rule)s\"", + "User %(userId)s is already in the room": "Пользователь %(userId)s уже находится в комнате", + "The user must be unbanned before they can be invited.": "Пользователь должен быть разблокирован прежде чем может быть приглашён.", + "Allow Peer-to-Peer for 1:1 calls": "Разрешить прямое соединение (p2p) для прямых звонков (один на один)", + "Order rooms in the room list by most important first instead of most recent": "Сортировать список комнат по важности вместо активности", + "Verify this user by confirming the following emoji appear on their screen.": "Проверьте собеседника, убедившись, что на его экране отображаются следующие символы (смайлы).", + "Unable to find a supported verification method.": "Невозможно определить поддерживаемый метод верификации.", + "Scissors": "Ножницы" } From 69d3dbd3deda6fdac16c2983bb7272359c3074a7 Mon Sep 17 00:00:00 2001 From: Valex Date: Sun, 17 Mar 2019 00:19:20 +0000 Subject: [PATCH 16/47] Translated using Weblate (Russian) Currently translated at 85.2% (1330 of 1560 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: http://translate.riot.im/projects/riot-web/matrix-react-sdk/ru/ --- src/i18n/strings/ru.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index b0fec58321..87dd42d154 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -1547,5 +1547,7 @@ "Order rooms in the room list by most important first instead of most recent": "Сортировать список комнат по важности вместо активности", "Verify this user by confirming the following emoji appear on their screen.": "Проверьте собеседника, убедившись, что на его экране отображаются следующие символы (смайлы).", "Unable to find a supported verification method.": "Невозможно определить поддерживаемый метод верификации.", - "Scissors": "Ножницы" + "Scissors": "Ножницы", + "Secure messages with this user are end-to-end encrypted and not able to be read by third parties.": "Общение с этим пользователем зашифровано сквозным шифрованием и недоступно третьим лицам.", + "We've sent you an email to verify your address. Please follow the instructions there and then click the button below.": "Мы отправили вам сообщение для проверки адреса электронной почты. Пожалуйста, выполните указания, данные в сообщении и нажмите кнопку внизу." } From 1f0f368b64b5105a2cac32dc1dd73ab6f31b904e Mon Sep 17 00:00:00 2001 From: Besnik Bleta Date: Sat, 16 Mar 2019 21:40:06 +0000 Subject: [PATCH 17/47] Translated using Weblate (Albanian) Currently translated at 99.6% (1555 of 1560 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: http://translate.riot.im/projects/riot-web/matrix-react-sdk/sq/ --- src/i18n/strings/sq.json | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/sq.json b/src/i18n/strings/sq.json index 19c5792201..7225b0808c 100644 --- a/src/i18n/strings/sq.json +++ b/src/i18n/strings/sq.json @@ -1770,5 +1770,32 @@ "Create your Matrix account on %(serverName)s": "Krijoni llogarinë tuaj Matrix te %(serverName)s", "Could not load user profile": "S’u ngarkua dot profili i përdoruesit", "Your Matrix account": "Llogaria juaj Matrix", - "Your Matrix account on %(serverName)s": "Llogaria juaj Matrix te %(serverName)s" + "Your Matrix account on %(serverName)s": "Llogaria juaj Matrix te %(serverName)s", + "Prepends ¯\\_(ツ)_/¯ to a plain-text message": "Parashtoji ¯\\_(ツ)_/¯ një mesazhi tekst të thjeshtë", + "User %(userId)s is already in the room": "Përdoruesi %(userId)s gjendet tashmë në dhomë", + "The user must be unbanned before they can be invited.": "Para se të ftohen, përdoruesve u duhet hequr dëbimi", + "Upgrade to your own domain": "Kaloni një shkallë më lart me përkatësinë tuaj vetjake", + "Accept all %(invitedRooms)s invites": "Prano krejt ftesat prej %(invitedRooms)s", + "Change room avatar": "Ndryshoni avatar dhome", + "Change room name": "Ndryshoni emër dhome", + "Change main address for the room": "Ndryshoni adresë kryesore për dhomën", + "Change history visibility": "Ndryshoni dukshmëri historiku", + "Change permissions": "Ndryshoni leje", + "Change topic": "Ndryshoni temë", + "Modify widgets": "Modifikoni widget-e", + "Default role": "Rol parazgjedhje", + "Send messages": "Dërgoni mesazhe", + "Invite users": "Ftoni përdorues", + "Change settings": "Ndryshoni rregullime", + "Kick users": "Përzini përdoruesi", + "Ban users": "Dëboni përdorues", + "Remove messages": "Hiqni mesazhe", + "Notify everyone": "Njoftoni gjithëkënd", + "Send %(eventType)s events": "Dërgo akte %(eventType)s", + "Select the roles required to change various parts of the room": "Përzgjidhni rolet e domosdoshme për të ndryshuar anë të ndryshme të dhomës", + "Enable encryption?": "Të aktivizohet fshehtëzim?", + "Once enabled, encryption for a room cannot be disabled. Messages sent in an encrypted room cannot be seen by the server, only by the participants of the room. Enabling encryption may prevent many bots and bridges from working correctly. Learn more about encryption.": "Pasi të aktivizohet, fshehtëzimi për një dhomë nuk mund të çaktivizohet. Mesazhet e dërguar në një dhomë të fshehtëzuar s’mund të shihen nga shërbyesi, vetëm nga pjesëmarrësit në dhomë. Aktivizimi i fshehtëzimit mund të pengojë funksionimin si duhet të mjaft robotëve dhe urave. Mësoni më tepër rreth fshehtëzimit.", + "Want more than a community? Get your own server": "Doni më shumë se një bashkësi? Merrni një shërbyes tuajin", + "You are logged in to another account": "Jeni futur në një tjetër llogari", + "Thank you for verifying your email! The account you're logged into here (%(sessionUserId)s) appears to be different from the account you've verified an email for (%(verifiedUserId)s). If you would like to log in to %(verifiedUserId2)s, please log out first.": "Faleminderit për verifikimin e email-it tuaj! Llogaria ku keni hyrë këtu (%(sessionUserId)s) duket të jetë tjetër nga llogaria për të cilën verifikuat një (%(verifiedUserId)s). Nëse doni të bëni hyrjen te %(verifiedUserId2)s, së pari, ju lutemi, bëni daljen." } From 96a156b906b1fa4f0a7b47646301a5583accf69a Mon Sep 17 00:00:00 2001 From: kingt0t Date: Fri, 15 Mar 2019 00:45:32 +0000 Subject: [PATCH 18/47] Translated using Weblate (Arabic) Currently translated at 4.2% (67 of 1560 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: http://translate.riot.im/projects/riot-web/matrix-react-sdk/ar/ --- src/i18n/strings/ar.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/ar.json b/src/i18n/strings/ar.json index 7ea42b8ebd..b530ee3861 100644 --- a/src/i18n/strings/ar.json +++ b/src/i18n/strings/ar.json @@ -66,5 +66,8 @@ "Collapse panel": "طي الجدول", "Set Password": "تعيين كلمة سرية", "Checking for an update...": "البحث عن تحديث …", - "powered by Matrix": "مشغل بواسطة Matrix" + "powered by Matrix": "مشغل بواسطة Matrix", + "The platform you're on": "المنصة الحالية", + "Your language of choice": "اللغة المختارة", + "e.g. %(exampleValue)s": "مثال %(exampleValue)s" } From afd49e5887e898ea2cf28d2b03efaa697efa039c Mon Sep 17 00:00:00 2001 From: Osoitz Date: Fri, 15 Mar 2019 11:12:52 +0000 Subject: [PATCH 19/47] Translated using Weblate (Basque) Currently translated at 96.6% (1508 of 1560 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: http://translate.riot.im/projects/riot-web/matrix-react-sdk/eu/ --- src/i18n/strings/eu.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/eu.json b/src/i18n/strings/eu.json index 315332ec24..d360dddc7a 100644 --- a/src/i18n/strings/eu.json +++ b/src/i18n/strings/eu.json @@ -1747,5 +1747,7 @@ "If you did this accidentally, you can setup Secure Messages on this device which will re-encrypt this device's message history with a new recovery method.": "Nahi gabe egin baduzu hau, Mezu seguruak ezarri ditzakezu gailu honetan eta gailu honetako mezuen historiala berreskuratze metodo berriarekin zifratuko da.", "If you didn't remove the recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Ez baduzu berreskuratze metodoa kendu, agian erasotzaile bat zure mezuen historialera sarbidea lortu nahi du. Aldatu kontuaren pasahitza eta ezarri berreskuratze metodo berri bat berehala ezarpenetan.", "You can use the custom server options to sign into other Matrix servers by specifying a different homeserver URL. This allows you to use this app with an existing Matrix account on a different homeserver.": "Zerbitzari pertsonalizatuaren aukera erabili dezakezu beste Matrix zerbitzarietan saioa hasteko beste hasiera-zerbitzari batek URLa adieraziz. Honek aplikazio hau beste Matrix zerbitzari batean duzun Matrix kontua erabiltzea baimentzen dizu.", - "The homeserver URL %(hsUrl)s doesn't seem to be valid URL. Please enter a valid URL including the protocol prefix.": "Hasiera zerbitzariaren URL-a %(hsUrl)s ez ditudi baliozko URL bat. Sartu baliozko URL bat protokoloaren aurrekaria barne." + "The homeserver URL %(hsUrl)s doesn't seem to be valid URL. Please enter a valid URL including the protocol prefix.": "Hasiera zerbitzariaren URL-a %(hsUrl)s ez ditudi baliozko URL bat. Sartu baliozko URL bat protokoloaren aurrekaria barne.", + "Changes your display nickname in the current room only": "Zure pantailako izena aldatzen du gela honetan bakarrik", + "Your Matrix account on %(serverName)s": "Zure %(serverName)s zerbitzariko Matrix kontua" } From 4490d7ca159d4539fe66863c945b51cf5b131aff Mon Sep 17 00:00:00 2001 From: Samu Voutilainen Date: Thu, 14 Mar 2019 12:03:53 +0000 Subject: [PATCH 20/47] Translated using Weblate (Finnish) Currently translated at 90.7% (1416 of 1560 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: http://translate.riot.im/projects/riot-web/matrix-react-sdk/fi/ --- src/i18n/strings/fi.json | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/fi.json b/src/i18n/strings/fi.json index 6aa70e0cf9..ec22932237 100644 --- a/src/i18n/strings/fi.json +++ b/src/i18n/strings/fi.json @@ -1557,5 +1557,28 @@ "Power level": "Oikeuksien taso", "Unable to load event that was replied to, it either does not exist or you do not have permission to view it.": "Tapahtuman, johon oli vastattu, lataaminen epäonnistui. Se joko ei ole olemassa tai sinulla ei ole oikeutta katsoa sitä.", "The following users may not exist": "Seuraavat käyttäjät eivät välttämättä ole olemassa", - "Unable to find profiles for the Matrix IDs listed below - would you like to invite them anyway?": "Alla luetelluille Matrix ID:ille ei löytynyt profiileja. Haluaisitko kutsua ne siitä huolimatta?" + "Unable to find profiles for the Matrix IDs listed below - would you like to invite them anyway?": "Alla luetelluille Matrix ID:ille ei löytynyt profiileja. Haluaisitko kutsua ne siitä huolimatta?", + "Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited and the usernames of other users. They do not contain messages.": "Debug-lokit sisältävät ohjelman käyttödataa, kuten käyttäjätunnuksesi, huoneiden ja ryhmien ID:t tai aliakset, joissa olet vieraillut sekä muiden käyttäjien käyttäjätunnukset. Ne eivät sisällä viestejä.", + "Before submitting logs, you must create a GitHub issue to describe your problem.": "Ennen lokien lähettämistä sinun täytyy luoda tapahtuma Githubiin, joka sisältää kuvauksen ongelmastasi.", + "What GitHub issue are these logs for?": "Mihin Github-tapahtumaan nämä lokit liittyvät?", + "Notes:": "Huomiot:", + "Unable to load commit detail: %(msg)s": "Commitin tietojen hakeminen epäonnistui: %(msg)s", + "Community IDs cannot be empty.": "Yhteisön ID:t eivät voi olla tyhjänä.", + "To avoid losing your chat history, you must export your room keys before logging out. You will need to go back to the newer version of Riot to do this": "Jotta et menetä keskusteluhistoriaasi, sinun täytyy tallentaa huoneen avaimet ennen kuin kirjaudut ulos. Joudut käyttämään uudempaa Riotin versiota tätä varten", + "You've previously used a newer version of Riot on %(host)s. To use this version again with end to end encryption, you will need to sign out and back in again. ": "Olet aikaisemmin käyttänyt uudempaa Riotin versiota koneella %(host)s. Jotta voit käyttää tätä versiota osapuolten välisellä salauksella, sinun täytyy kirjautua ulos ja kirjautua takaisin sisään. ", + "This will make your account permanently unusable. You will not be able to log in, and no one will be able to re-register the same user ID. This will cause your account to leave all rooms it is participating in, and it will remove your account details from your identity server. This action is irreversible.": "Tämä tekee tunnuksestasi lopullisesti käyttökelvottoman. Et voi kirjautua sisään, eikä kukaan voi rekisteröidä tunnusta samalla käyttäjä-ID:llä. Tunnuksesi tulee lähtemään kaikista huoneista, joihin se on liittynyt, ja tietosi tullaan poistamaan identiteettipalvelimelta. Tämä toimenpide on lopullinen eikä sitä voi kumota.", + "Deactivating your account does not by default cause us to forget messages you have sent. If you would like us to forget your messages, please tick the box below.": "Tunnuksesi poistaminen käytöstä ei oletuksena saa meitä unohtamaan lähettämiäsi viestejä. Jos haluaisit meidän unohtavan viestisi, klikkaa alapuolella olevasta laatikosta.", + "Message visibility in Matrix is similar to email. Our forgetting your messages means that messages you have sent will not be shared with any new or unregistered users, but registered users who already have access to these messages will still have access to their copy.": "Viestien näkyvyys Matrixissa on samanlainen kuin sähköpostissa. Vaikka se, et unohdamme viestisi, tarkoittaa, ettei viestejäsi jaeta enää uusille tai rekisteröitymättömille käyttäjille, käyttäjät, jotka ovat jo saaneet viestisi pystyvät lukemaan jatkossakin omaa kopioonsa viesteistäsi.", + "Please forget all messages I have sent when my account is deactivated (Warning: this will cause future users to see an incomplete view of conversations)": "Unohda kaikki viestit, jotka olen lähettänyt, kun tunnukseni on otettu pois käytöstä (b>Warning: tämä aiheuttaa tulevien käyttäjien näkevän epätäydellisen version keskusteluista)", + "Use Legacy Verification (for older clients)": "Käytä vanhentunutta varmennustapaa (vanhemmille asiakasohjelmille)", + "Verify by comparing a short text string.": "Varmenna vertaamalla lyhyttä tekstijonoa.", + "Begin Verifying": "Aloita varmentaminen", + "Waiting for partner to accept...": "Odotetaan, että toinen osapuoli hyväksyy...", + "Nothing appearing? Not all clients support interactive verification yet. .": "Näytölle ei ilmesty mitään? Kaikki asiakasohjelmat eivät vielä tue interaktiivista varmentamista. .", + "Waiting for %(userId)s to confirm...": "Odotetaan, että %(userId)s hyväksyy...", + "Use two-way text verification": "Käytä kahdensuuntaista tekstivarmennusta", + "Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Varmenna tämä käyttäjä merkitsemällä hänet luotetuksi. Käyttäjiin luottaminen antaa sinulle ylimääräistä mielenrauhaa käyttäessäsi osapuolten välistä salausta.", + "Verifying this user will mark their device as trusted, and also mark your device as trusted to them.": "Tämän käyttäjän varmentaminen merkitsee heidän laitteensa luotetuiksi, sekä merkitsee sinun laitteesi luotetuiksi tälle käyttäjälle.", + "Waiting for partner to confirm...": "Odotetaan, että toinen osapuoli varmistaa...", + "Incoming Verification Request": "Saapuva varmennuspyyntö" } From 16a3a3a669e1e6a93321df270f44099578c6efba Mon Sep 17 00:00:00 2001 From: Paulo Miranda Date: Wed, 13 Mar 2019 14:07:03 +0000 Subject: [PATCH 21/47] Translated using Weblate (Portuguese (Brazil)) Currently translated at 90.7% (1415 of 1560 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: http://translate.riot.im/projects/riot-web/matrix-react-sdk/pt_BR/ --- src/i18n/strings/pt_BR.json | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/pt_BR.json b/src/i18n/strings/pt_BR.json index 9b9f17ff83..072215663d 100644 --- a/src/i18n/strings/pt_BR.json +++ b/src/i18n/strings/pt_BR.json @@ -1600,5 +1600,33 @@ "FAQ": "FAQ", "Versions": "Versões", "Close button should minimize window to tray": "O botão Fechar deve minimizar a janela para a bandeja", - "Preferences": "Preferências" + "Preferences": "Preferências", + "Composer": "Compositor", + "Timeline": "Linha do Tempo", + "Room list": "Lista de Salas", + "Autocomplete delay (ms)": "Atraso no preenchimento automático (ms)", + "Ignored users": "Usuários ignorados", + "Bulk options": "Opções em massa", + "Accept all %(invitedRooms)s invites": "Aceite todos os convites de %(invitedRooms)s", + "Key backup": "Backup da chave", + "Security & Privacy": "Segurança & Privacidade", + "Missing media permissions, click the button below to request.": "Permissões de mídia ausentes, clique no botão abaixo para solicitar.", + "Request media permissions": "Solicitar permissões de mídia", + "Voice & Video": "Voz e vídeo", + "Room information": "Informação da sala", + "Internal room ID:": "ID da sala interna:", + "Room version": "Versão da sala", + "Room version:": "Versão da sala:", + "Developer options": "Opções de desenvolvedor", + "Room Addresses": "Endereços da sala", + "Change room avatar": "Alterar avatar da sala", + "Change room name": "Alterar nome da sala", + "Change main address for the room": "Alterar o endereço principal da sala", + "Change history visibility": "Alterar a visibilidade do histórico", + "Change permissions": "Alterar permissões", + "Change topic": "Alterar o tópico", + "Modify widgets": "Modificar widgets", + "Default role": "Papel padrão", + "Send messages": "Enviar mensagens", + "Invite users": "Convidar usuários" } From 2432555cf698d9cc8c4ad7d5fda4643edf900427 Mon Sep 17 00:00:00 2001 From: Serge Latyntsev Date: Sun, 17 Mar 2019 00:33:28 +0000 Subject: [PATCH 22/47] Translated using Weblate (Russian) Currently translated at 87.1% (1359 of 1560 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: http://translate.riot.im/projects/riot-web/matrix-react-sdk/ru/ --- src/i18n/strings/ru.json | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index 87dd42d154..505bb29727 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -1549,5 +1549,30 @@ "Unable to find a supported verification method.": "Невозможно определить поддерживаемый метод верификации.", "Scissors": "Ножницы", "Secure messages with this user are end-to-end encrypted and not able to be read by third parties.": "Общение с этим пользователем зашифровано сквозным шифрованием и недоступно третьим лицам.", - "We've sent you an email to verify your address. Please follow the instructions there and then click the button below.": "Мы отправили вам сообщение для проверки адреса электронной почты. Пожалуйста, выполните указания, данные в сообщении и нажмите кнопку внизу." + "We've sent you an email to verify your address. Please follow the instructions there and then click the button below.": "Мы отправили вам сообщение для подтверждения адреса электронной почты. Пожалуйста выполните указания данные в сообщении и нажмите кнопку внизу.", + "Are you sure? You will lose your encrypted messages if your keys are not backed up properly.": "Вы уверены? Зашифрованные сообщения будут безвозвратно утеряны при отсутствии соответствующего резервного копирования ваших ключей.", + "Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Зашифрованные сообщения защищены сквозным шифрованием. Только вы и ваш собеседник имеете ключи для их расшифровки и чтения.", + "Unable to load key backup status": "Не удалось получить статус резервного копирования для ключей шифрования", + "Restore from Backup": "Восстановить из резервной копии", + "This device is backing up your keys. ": "Это устройство хранит резервную копию ключей шифрования", + "This device is not backing up your keys.": "Это устройство не хранит резервных копий ключей шифрования.", + "Back up your keys before signing out to avoid losing them.": "Перед выходом сохраните резервную копию ключей шифрования чтобы не потерять их", + "Use key backup": "Использовать резервную копию ключей", + "Backup has a signature from unknown device with ID %(deviceId)s.": "Резервная копия подписана неизвестным устройством с ID %(deviceId)s", + "Backup has a valid signature from this device": "Резервная копия заверена действительной подписью от этого устройства", + "Backup has a valid signature from verified device ": "Резервная копия заверена действительной подписью от подтверждённого устройства ", + "Backup has a valid signature from unverified device ": "Резервная копия заверена действительной подписью от неподтверждённого устройства ", + "Backup has an invalid signature from verified device ": "Резервная копия заверена недействительной подписью от подтверждённого устройства ", + "Backup has an invalid signature from unverified device ": "Резервная копия заверена недействительной подписью от неподтверждённого устройства ", + "Backup is not signed by any of your devices": "Резервная копия не заверена ни одним из ваших устройств", + "This backup is trusted because it has been restored on this device": "Эта резервная копия считается надёжной потому что была восстановлена на этом устройстве", + "Your keys are not being backed up from this device.": "Ключи шифрования с этого устройства не сохраняются в резервную копию.", + "Start using Key Backup": "Использовать резервную копию ключей шифрования", + "Profile picture": "Аватар", + "Upload profile picture": "Загрузить аватар", + "Close button should minimize window to tray": "Кнопка закрытия сворачивает окно в область уведомлений (системный трей)", + "Accept all %(invitedRooms)s invites": "Принять все приглашения (%(invitedRooms)s)", + "Missing media permissions, click the button below to request.": "Отсутствует доступ к источнику медиа. Нажмите кнопку ниже чтобы запросить.", + "Request media permissions": "Запросить доступ к медиа носителю", + "Change room name": "Изменить название комнаты" } From e2048f9ec786a1269f872378b2a7d05885b61bbc Mon Sep 17 00:00:00 2001 From: Valex Date: Sun, 17 Mar 2019 00:41:41 +0000 Subject: [PATCH 23/47] Translated using Weblate (Russian) Currently translated at 87.1% (1359 of 1560 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: http://translate.riot.im/projects/riot-web/matrix-react-sdk/ru/ --- src/i18n/strings/ru.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index 505bb29727..792eb43704 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -1574,5 +1574,9 @@ "Accept all %(invitedRooms)s invites": "Принять все приглашения (%(invitedRooms)s)", "Missing media permissions, click the button below to request.": "Отсутствует доступ к источнику медиа. Нажмите кнопку ниже чтобы запросить.", "Request media permissions": "Запросить доступ к медиа носителю", - "Change room name": "Изменить название комнаты" + "Change room name": "Изменить название комнаты", + "For help with using Riot, click here.": "Для получения помощи по использованию Riot, нажмите здесь.", + "For help with using Riot, click here or start a chat with our bot using the button below.": "Для получения помощи по использованию Riot, нажмите здесь или начните чат с нашим ботом, используюя кнопку ниже.", + "Bug reporting": "Сообщить об ошибке", + "Open Devtools": "Открыть инструменты разработчика" } From fb7bd204d70912dcec62c8b095610d9dcc8fffd9 Mon Sep 17 00:00:00 2001 From: sergio Date: Sun, 17 Mar 2019 11:17:25 +0000 Subject: [PATCH 24/47] Translated using Weblate (Russian) Currently translated at 87.1% (1359 of 1560 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: http://translate.riot.im/projects/riot-web/matrix-react-sdk/ru/ --- src/i18n/strings/ru.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index 792eb43704..59abe13dc2 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -1285,7 +1285,7 @@ "This is a top-100 common password": "Это топ-100 распространенных паролей", "This is a very common password": "Это очень распространенный пароль", "This is similar to a commonly used password": "Это похоже на распространенный пароль", - "A word by itself is easy to guess": "Общеупотребительные слова легко угадываются", + "A word by itself is easy to guess": "Общеупотребительные слова легко угадываемы", "Names and surnames by themselves are easy to guess": "Имена и фамилии легко угадываемы", "Common names and surnames are easy to guess": "Распространённые имена и фамилии легко угадываемы", "Straight rows of keys are easy to guess": "Прямые ряды клавиш легко угадываемы", From d6e400c4b7c68bba01dcfc545a46daa3c4603752 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20V=C3=A1gner?= Date: Sun, 17 Mar 2019 09:01:36 +0000 Subject: [PATCH 25/47] Translated using Weblate (Slovak) Currently translated at 89.2% (1392 of 1560 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: http://translate.riot.im/projects/riot-web/matrix-react-sdk/sk/ --- src/i18n/strings/sk.json | 204 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 199 insertions(+), 5 deletions(-) diff --git a/src/i18n/strings/sk.json b/src/i18n/strings/sk.json index 774a64c1a3..9569e436e8 100644 --- a/src/i18n/strings/sk.json +++ b/src/i18n/strings/sk.json @@ -1292,7 +1292,7 @@ "Avoid repeated words and characters": "Neopakujte krátke slová, znaky alebo ich skupiny", "Avoid sequences": "Nestláčajte klávesy umiestnené v poradí vedľa seba", "Avoid recent years": "Nepíšte čísla podľa aktuálneho alebo posledných rokov", - "Avoid years that are associated with you": "Vyvarujte sa rokov, ktoré sú s vami stotožnené", + "Avoid years that are associated with you": "Vyvarujte sa rokom, ktoré sú s vami stotožnené", "Avoid dates and years that are associated with you": "Vyvarujte sa dátumov a rokov, ktoré sú s vami stotožnené", "Capitalization doesn't help very much": "Veľkosť písmen nie je veľmi rozhodujúca", "All-uppercase is almost as easy to guess as all-lowercase": "Všetky veľké písmená je možné uhádnuť rovnako ľahko ako všetky malé písmená", @@ -1331,9 +1331,9 @@ "This device is uploading keys to this backup": "Z tohoto zariadenia nahrávate kľúče do tejto zálohy", "This device is not uploading keys to this backup": "Toto zariadenie nenahráva kľúče do tejto zálohy", "Backup has a valid signature from this device": "Záloha je podpísaná platným kľúčom z tohoto zariadenia", - "Backup has a valid signature from verified device ": "Záloha je podpísaná platným kľúčom z tohoto zariadenia\nZáloha je podpísaná správnym kľúčom z overeného zariadenia ", - "Backup has a valid signature from unverified device ": "Záloha je podpísaná platným kľúčom z neovereného zariadenia ", - "Backup has an invalid signature from verified device ": "Záloha je podpísaná neplatným kľúčom z overeného zariadenia ", + "Backup has a valid signature from verified device ": "Podpis zálohy je platný a pochádza z overeného zariadenia ", + "Backup has a valid signature from unverified device ": "Podpis zálohy je platný a pochádza z neovereného zariadenia ", + "Backup has an invalid signature from verified device ": "Podpis zálohy je neplatný a pochádza z overeného zariadenia ", "Backup has an invalid signature from unverified device ": "Záloha je podpísaná neplatným kľúčom z neovereného zariadenia ", "Backup is not signed by any of your devices": "Záloha nie je podpísaná žiadnym z vašich zariadení", "Backup version: ": "Verzia zálohy: ", @@ -1450,5 +1450,199 @@ "Setting up Secure Messages on this device will re-encrypt this device's message history with the new recovery method.": "Nastavením Bezpečného obnovenia správ na tomto zariadení znovu zašifrujete históriu šifrovaných konverzácií novou metódov obnovenia.", "If you didn't set the new recovery method, an attacker may be trying to access your account. Change your account password and set a new recovery method immediately in Settings.": "Ak ste si nenastavili nový spôsob obnovenia útočníci sa môžu pokúsiť dostať k vášmu účtu. Ihneď si v nastaveniach zmente heslo a nastavte nový spôsob obnovi.", "Set up Secure Messages": "Nastaviť bezpečné obnovenie správ", - "Go to Settings": "Otvoriť nastavenia" + "Go to Settings": "Otvoriť nastavenia", + "Whether or not you're logged in (we don't record your username)": "Či ste alebo nie ste prihlásení (nezaznamenávame vaše meno používateľa)", + "The file '%(fileName)s' exceeds this homeserver's size limit for uploads": "Veľkosť súboru „%(fileName)s“ prekračuje limit veľkosti súboru nahrávania na tento domovský server", + "Prepends ¯\\_(ツ)_/¯ to a plain-text message": "Pridá znaky ¯\\_(ツ)_/¯ pred správy vo formáte obyčajného textu", + "Upgrades a room to a new version": "Aktualizuje miestnosť na novšiu verziu", + "Changes your display nickname in the current room only": "Zmení vaše zobrazované meno / prezývku len v aktuálnej miestnosti", + "Gets or sets the room topic": "Zobrazí alebo nastaví tému miestnosti", + "This room has no topic.": "Táto miestnosť nemá nastavenú tému.", + "Sets the room name": "Nastaví názov miestnosti", + "%(senderDisplayName)s upgraded this room.": "%(senderDisplayName)s aktualizoval túto miestnosť.", + "%(senderDisplayName)s made the room public to whoever knows the link.": "%(senderDisplayName)s zverejnil túto miestnosť pre všetkých, ktorí poznajú jej odkaz.", + "%(senderDisplayName)s made the room invite only.": "%(senderDisplayName)s nastavil vstup do miestnosti len pre pozvaných.", + "%(senderDisplayName)s changed the join rule to %(rule)s": "%(senderDisplayName)s zmenil podmienku vstupu na %(rule)s", + "%(senderDisplayName)s has allowed guests to join the room.": "%(senderDisplayName)s umožnil hosťom vstúpiť do miestnosti.", + "%(senderDisplayName)s has prevented guests from joining the room.": "%(senderDisplayName)s zamedzil hosťom vstúpiť do miestnosti", + "%(senderDisplayName)s changed guest access to %(rule)s": "%(senderDisplayName)s zmenil prístup hostí na %(rule)s", + "%(senderDisplayName)s enabled flair for %(groups)s in this room.": "%(senderDisplayName)s aktivoval zobrazenie členstva v komunite %(groups)s pre túto miestnosť.", + "%(senderDisplayName)s disabled flair for %(groups)s in this room.": "%(senderDisplayName)s deaktivoval zobrazenie členstva v komunite %(groups)s pre túto miestnosť.", + "%(senderDisplayName)s enabled flair for %(newGroups)s and disabled flair for %(oldGroups)s in this room.": "%(senderDisplayName)s aktivoval zobrazenie členstva v %(newGroups)s a deaktivoval zobrazovanie členstva v %(oldGroups)s pre túto miestnosť.", + "%(displayName)s is typing …": "%(displayName)s píše …", + "%(names)s and %(count)s others are typing …|other": "%(names)s a %(count)s ďalší píšu …", + "%(names)s and %(count)s others are typing …|one": "%(names)s a jeden ďalší píšu …", + "%(names)s and %(lastPerson)s are typing …": "%(names)s a %(lastPerson)s píšu …", + "User %(userId)s is already in the room": "Používateľ %(userId)s je už v tejto miestnosti", + "The user must be unbanned before they can be invited.": "Tomuto používateľovi musíte pred odoslaním pozvania povoliť vstup.", + "Show recent room avatars above the room list (refresh to apply changes)": "Zobrazovať obrázky naposledy otvorených miestností nad zoznamom miestností (zmena sa prejaví po obnovení stránky)", + "Group & filter rooms by custom tags (refresh to apply changes)": "Zoskupiť a filtrovať miestnosti podľa vlastných značiek (zmeny sa prejavia po obnovení stránky)", + "Render simple counters in room header": "Zobraziť jednoduchú štatistiku v záhlaví miestnosti", + "Enable Emoji suggestions while typing": "Umožniť automatické návrhy Emoji počas písania", + "Show a placeholder for removed messages": "Zobrazovať náhrady za odstránené správy", + "Show join/leave messages (invites/kicks/bans unaffected)": "Zobrazovať správy o vstupe a opustení miestnosti (Nemá vplyv na pozvania/vykázania/zákazy vstupu)", + "Show avatar changes": "Zobrazovať zmeny obrázka v profile", + "Show display name changes": "Zobrazovať zmeny zobrazovaného mena", + "Show read receipts sent by other users": "Zobrazovať potvrdenia o prečítaní od ostatných používateľov", + "Show avatars in user and room mentions": "Pri zmienkach používateľov a miestností zobrazovať aj obrázok", + "Enable big emoji in chat": "Povoliť veľké Emoji v konverzáciách", + "Send typing notifications": "Posielať oznámenia, keď píšete", + "Enable Community Filter Panel": "Povoliť panel filter komunít", + "Allow Peer-to-Peer for 1:1 calls": "Povoliť P2P počas priamych audio/video hovorov", + "Order rooms in the room list by most important first instead of most recent": "Uprednostňovať najdôležitejšie namiesto naposledy aktívnych v zozname miestností", + "Messages containing my username": "Správy obsahujúce moje meno používateľa", + "The other party cancelled the verification.": "Proti strana zrušila overovanie.", + "Verified!": "Overený!", + "You've successfully verified this user.": "Úspešne ste overili tohoto používateľa.", + "Secure messages with this user are end-to-end encrypted and not able to be read by third parties.": "Zabezpečené správi s týmto používateľom sú E2E šifrované, čo znamená, že čítanie tretími stranami nie je možné.", + "Got It": "Rozumiem", + "Verify this user by confirming the following emoji appear on their screen.": "Overte tohoto používateľa tým, že zistíte, či sa na jeho obrazovke objaví nasledujúci emoji.", + "Verify this user by confirming the following number appears on their screen.": "Overte tohoto používateľa tým, že zistíte, či sa na jeho obrazovke objaví nasledujúce číslo.", + "Unable to find a supported verification method.": "Nie je možné nájsť podporovanú metódu overenia.", + "For maximum security, we recommend you do this in person or use another trusted means of communication.": "Pre zachovanie maximálnej bezpečnosti odporúčame, aby ste toto vykonali osobne, alebo použili iný dôverihodný komunikačný kanál.", + "Dog": "Pes", + "Cat": "Mačka", + "Lion": "Lev", + "Horse": "Kôň", + "Unicorn": "Jednorožec", + "Pig": "Prasa", + "Elephant": "Slon", + "Rabbit": "Zajac", + "Panda": "Panda", + "Rooster": "Kohút", + "Penguin": "Tučniak", + "Turtle": "Koritnačka", + "Fish": "Ryba", + "Octopus": "Chobotnica", + "Butterfly": "Motýľ", + "Flower": "Kvetina", + "Tree": "Strom", + "Cactus": "Kaktus", + "Mushroom": "Hríb", + "Globe": "Zemeguľa", + "Moon": "Mesiac", + "Cloud": "Oblak", + "Fire": "Oheň", + "Banana": "Banán", + "Apple": "Jablko", + "Strawberry": "Jahoda", + "Corn": "Kukurica", + "Pizza": "Pizza", + "Cake": "Koláč", + "Heart": "Srdce", + "Smiley": "Úsmev", + "Robot": "Robot", + "Hat": "Klobúk", + "Glasses": "Okuliare", + "Spanner": "Skrutkovač", + "Santa": "Mikuláš", + "Thumbs up": "palec nahor", + "Umbrella": "Dáždnik", + "Hourglass": "Presípacie hodiny", + "Clock": "Hodiny", + "Gift": "Darček", + "Light bulb": "Žiarovka", + "Book": "Kniha", + "Pencil": "Ceruzka", + "Paperclip": "Kancelárska sponka", + "Scissors": "Nožnice", + "Padlock": "Visiaci zámok", + "Key": "Kľúč", + "Hammer": "Kladivo", + "Telephone": "Telefón", + "Flag": "Vlajka", + "Train": "Vlak", + "Bicycle": "Bicykel", + "Aeroplane": "Lietadlo", + "Rocket": "Raketa", + "Trophy": "Trofej", + "Ball": "Lopta", + "Guitar": "Gitara", + "Trumpet": "Trúbka", + "Bell": "Zvonček", + "Anchor": "Kotva", + "Headphones": "Slúchadlá", + "Folder": "Priečinok", + "Pin": "Pin", + "Your homeserver does not support device management.": "Váš domovský server nepodporuje správu zariadení.", + "Yes": "Áno", + "No": "Nie", + "We've sent you an email to verify your address. Please follow the instructions there and then click the button below.": "Poslali sme vám email, aby sme mohli overiť vašu adresu. Postupujte podľa odoslaných inštrukcií a potom klepnite na nižšie zobrazené tlačidlo.", + "Email Address": "Emailová adresa", + "Are you sure? You will lose your encrypted messages if your keys are not backed up properly.": "Ste si istí? Ak nemáte správne zálohované šifrovacie kľúče, prídete o históriu šifrovaných konverzácií.", + "Encrypted messages are secured with end-to-end encryption. Only you and the recipient(s) have the keys to read these messages.": "Šifrované správy sú zabezpečené E2E šifrov. Ku kľúčom určeným na čítanie týchto správ máte prístup len vy a adresát(i) týchto správ.", + "Restore from Backup": "Obnoviť zo zálohy", + "This device is backing up your keys. ": "Kľúče z tohoto zariadenia sú zálohované. ", + "This device is not backing up your keys.": "Kľúče z tohoto zariadenia nie sú zálohované.", + "Back up your keys before signing out to avoid losing them.": "Zálohujte si šifrovacie kľúče pred odhlásením, aby ste zabránili ich strate.", + "Use key backup": "Použiť zálohovanie kľúčov", + "Backing up %(sessionsRemaining)s keys...": "Zálohovanie %(sessionsRemaining)s kľúčov…", + "All keys backed up": "Všetky kľúče sú zálohované", + "Backup has a signature from unknown device with ID %(deviceId)s.": "Podpis zálohy pochádza z neznámeho zariadenia ID %(deviceId)s.", + "This backup is trusted because it has been restored on this device": "Táto záloha je dôverihodná, pretože ste z nej obnovili kľúče v tomto zariadení", + "Your keys are not being backed up from this device.": "Kľúče z tohoto zariadenia nemáte zálohované.", + "Start using Key Backup": "Začnite používať zálohovanie kľúčov", + "Add an email address to configure email notifications": "Oznámenia emailom nastavíte pridaním emailovej adresy", + "Unable to verify phone number.": "Nie je možné overiť telefónne číslo.", + "Verification code": "Overovací kód", + "Phone Number": "Telefónne číslo", + "Profile picture": "Obrázok v profile", + "Upload profile picture": "Nahrať obrázok v profile", + "Upgrade to your own domain": "Použiť vlastnú doménu", + "Display Name": "Zobrazované meno", + "Set a new account password...": "Nastaviť nové heslo k účtu…", + "Email addresses": "Emailové adresy", + "Phone numbers": "Telefónne čísla", + "Language and region": "Jazyk a región", + "Theme": "Vzhľad", + "Account management": "Správa účtu", + "Deactivating your account is a permanent action - be careful!": "Buďte opatrní, deaktivácia účtu je nezvratná akcia!", + "General": "Všeobecné", + "Credits": "Poďakovanie", + "For help with using Riot, click here.": "Pomoc pri používaní Riot môžete získať kliknutím sem.", + "For help with using Riot, click here or start a chat with our bot using the button below.": "Pomoc pri používaní Riot môžete získať kliknutím sem, alebo začnite konverzáciu s našim robotom klepnutím na tlačidlo nižšie.", + "Chat with Riot Bot": "Konverzácia s Riot Bot", + "Help & About": "Pomocník & O programe", + "Bug reporting": "Hlásenie chýb", + "FAQ": "Často kladené otázky (FAQ)", + "Versions": "Verzie", + "Close button should minimize window to tray": "Tlačidlo zavrieť minimalizuje okno do oznamovacej oblasti", + "Preferences": "Predvoľby", + "Composer": "Editor", + "Timeline": "Časová os", + "Room list": "Zoznam miestností", + "Autocomplete delay (ms)": "Oneskorenie automatického dokončovania (ms)", + "Ignored users": "Ignorovaní používatelia", + "Bulk options": "Hromadné možnosti", + "Accept all %(invitedRooms)s invites": "Prijať všetkých %(invitedRooms)s pozvaní", + "Key backup": "Zálohovanie kľúčov", + "Security & Privacy": "Bezpečnosť & Súkromie", + "Missing media permissions, click the button below to request.": "Chýbajú povolenia na médiá, vyžiadate klepnutím na tlačidlo nižšie.", + "Request media permissions": "Požiadať povolenia pristupovať k médiám", + "Voice & Video": "Hlas & Video", + "Room information": "Informácie o miestnosti", + "Internal room ID:": "Interné ID miestnosti:", + "Room version": "Verzia miestnosti", + "Room version:": "Verzia miestnosti:", + "Developer options": "Vývojárske možnosti", + "Room Addresses": "Adresy miestnosti", + "Change room avatar": "Zmeniť obrázok miestnosti", + "Change room name": "Zmeniť názov miestnosti", + "Change main address for the room": "Zmeniť hlavnú adresu miestnosti", + "Change history visibility": "Zmeniť viditeľnosť histórie", + "Change permissions": "Zmeniť povolenia", + "Change topic": "Zmeniť tému", + "Modify widgets": "Upraviť widgety", + "Default role": "Predvolená úloha", + "Send messages": "Odoslať správy", + "Invite users": "Pozvať používateľov", + "Change settings": "Zmeniť nastavenia", + "Kick users": "Vykázať používateľov", + "Ban users": "Zakázať používateľom vstup", + "Remove messages": "Odstrániť správy", + "Notify everyone": "Poslať oznámenie všetkým", + "Send %(eventType)s events": "Poslať udalosti %(eventType)s", + "Roles & Permissions": "Role & Povolenia", + "Select the roles required to change various parts of the room": "Vyberte role potrebné na zmenu rôznych častí miestnosti", + "Enable encryption?": "Povoliť šifrovanie?" } From 88cc9b0504a7b8b6e37f703e648d94dad3e600ed Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 18 Mar 2019 13:51:59 +0000 Subject: [PATCH 26/47] Released js-sdk --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 321fdfb551..a86c332855 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,7 @@ "linkifyjs": "^2.1.6", "lodash": "^4.13.1", "lolex": "2.3.2", - "matrix-js-sdk": "1.0.2-rc.1", + "matrix-js-sdk": "1.0.2", "optimist": "^0.6.1", "pako": "^1.0.5", "prop-types": "^15.5.8", From 6ed45b52d3af0e01fba6d7498ce539a538d53a4e Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 18 Mar 2019 13:56:55 +0000 Subject: [PATCH 27/47] Prepare changelog for v1.0.4 --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e3f6ee1d9..76852d6575 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +Changes in [1.0.4](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.0.4) (2019-03-18) +=================================================================================================== +[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.0.4-rc.1...v1.0.4) + + * No changes since rc.1 + Changes in [1.0.4-rc.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.0.4-rc.1) (2019-03-13) ============================================================================================================= [Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.0.3...v1.0.4-rc.1) From fc7db55585f4cc5e828308e6f44a2e5b9ceb8ac1 Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 18 Mar 2019 13:56:55 +0000 Subject: [PATCH 28/47] v1.0.4 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a86c332855..ee423d80d3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "matrix-react-sdk", - "version": "1.0.4-rc.1", + "version": "1.0.4", "description": "SDK for matrix.org using React", "author": "matrix.org", "repository": { From 34e533dd4b284c3143918ade61d0c27df5c9c04d Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Mon, 18 Mar 2019 15:46:35 +0000 Subject: [PATCH 29/47] Remove Edge from browser support statements At the current time, we do not intend to do additional work specifically to support Edge. If it works for most use cases, that's great, but we do not intend to fix issues that affect only Edge. Fixes https://github.com/vector-im/riot-web/issues/9201 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index ad781ffe99..e944b04ff2 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,6 @@ Developer Guide Platform Targets: * Chrome, Firefox and Safari. - * Edge should also work, but we're not testing it proactively. * WebRTC features (VoIP and Video calling) are only available in Chrome & Firefox. * Mobile Web is not currently a target platform - instead please use the native iOS (https://github.com/matrix-org/matrix-ios-kit) and Android From 620590bd905ef60ed4e80528ecb7f877d7de3370 Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 18 Mar 2019 16:24:56 +0000 Subject: [PATCH 30/47] Update yarn.lock Which wasn't updated at release time --- yarn.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/yarn.lock b/yarn.lock index d1da66b82b..bca7997c18 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4371,10 +4371,10 @@ math-random@^1.0.1: resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c" integrity sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A== -matrix-js-sdk@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-1.0.1.tgz#783efc501e2521997869cfe8e719134d9e10a45c" - integrity sha512-+ErnXHfkxOoRHUYbY/R+2ZHvPKdPCx/eoYjb2Oy7L9pBqCNllI0WRVsro6oqRJQs0krVP8blyIjWOJynWSw96g== +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== dependencies: another-json "^0.2.0" babel-runtime "^6.26.0" From bb111dc6c5f9ad45716037bbaa61ed909863f3d3 Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 18 Mar 2019 16:24:56 +0000 Subject: [PATCH 31/47] Update yarn.lock Which wasn't updated at release time --- yarn.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/yarn.lock b/yarn.lock index 36fa22ae44..58e3f6df52 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4371,10 +4371,10 @@ math-random@^1.0.1: resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c" integrity sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A== -matrix-js-sdk@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-1.0.1.tgz#783efc501e2521997869cfe8e719134d9e10a45c" - integrity sha512-+ErnXHfkxOoRHUYbY/R+2ZHvPKdPCx/eoYjb2Oy7L9pBqCNllI0WRVsro6oqRJQs0krVP8blyIjWOJynWSw96g== +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== dependencies: another-json "^0.2.0" babel-runtime "^6.26.0" From d6f31bef8ec9aaeebb28e38fd5cb3eb8b7bd9adb Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 18 Mar 2019 23:25:11 +0000 Subject: [PATCH 32/47] Disable big emoji for m.emote messages as it looks weird Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/views/messages/TextualBody.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/views/messages/TextualBody.js b/src/components/views/messages/TextualBody.js index 1b6c9418a9..404a0f0889 100644 --- a/src/components/views/messages/TextualBody.js +++ b/src/components/views/messages/TextualBody.js @@ -431,7 +431,7 @@ module.exports = React.createClass({ const stripReply = ReplyThread.getParentEventId(mxEvent); let body = HtmlUtils.bodyToHtml(content, this.props.highlights, { - disableBigEmoji: !SettingsStore.getValue('TextualBody.enableBigEmoji'), + disableBigEmoji: content.msgtype === "m.emote" || !SettingsStore.getValue('TextualBody.enableBigEmoji'), // Part of Replies fallback support stripReplyFallback: stripReply, }); From cadf36e1c9dede95a23af433206edc03b2d8cc54 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 18 Mar 2019 23:33:24 +0000 Subject: [PATCH 33/47] Don't show calculated room name in room settings name input field Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .../views/room_settings/RoomProfileSettings.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/components/views/room_settings/RoomProfileSettings.js b/src/components/views/room_settings/RoomProfileSettings.js index 8205ee3f6e..1c36328c00 100644 --- a/src/components/views/room_settings/RoomProfileSettings.js +++ b/src/components/views/room_settings/RoomProfileSettings.js @@ -34,14 +34,20 @@ export default class RoomProfileSettings extends React.Component { const client = MatrixClientPeg.get(); const room = client.getRoom(props.roomId); if (!room) throw new Error("Expected a room for ID: ", props.roomId); + const avatarEvent = room.currentState.getStateEvents("m.room.avatar", ""); let avatarUrl = avatarEvent && avatarEvent.getContent() ? avatarEvent.getContent()["url"] : null; if (avatarUrl) avatarUrl = client.mxcUrlToHttp(avatarUrl, 96, 96, 'crop', false); + const topicEvent = room.currentState.getStateEvents("m.room.topic", ""); const topic = topicEvent && topicEvent.getContent() ? topicEvent.getContent()['topic'] : ''; + + const nameEvent = room.currentState.getStateEvents('m.room.name', ''); + const name = nameEvent && nameEvent.getContent() ? nameEvent.getContent()['name'] : ''; + this.state = { - originalDisplayName: room.name, - displayName: room.name, + originalDisplayName: name, + displayName: name, originalAvatarUrl: avatarUrl, avatarUrl: avatarUrl, avatarFile: null, From 02569fca4bd71a245d427042db55befa1f49bf02 Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Tue, 19 Mar 2019 16:19:56 +0000 Subject: [PATCH 34/47] Support CI for matching branches on forks Currently, people with push access to the main Riot repos can push matching branch names to Riot and the SDKs, and CI will test all the branches together. This change allows contributors to access the same ability when submitting several matching PRs from their fork of each repo. Part of https://github.com/vector-im/riot-web/issues/9041 --- scripts/fetchdep.sh | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/scripts/fetchdep.sh b/scripts/fetchdep.sh index 6fb50e7cea..1f9695778b 100755 --- a/scripts/fetchdep.sh +++ b/scripts/fetchdep.sh @@ -1,28 +1,40 @@ -#!/bin/sh +#!/bin/bash -org="$1" -repo="$2" +set -x + +deforg="$1" +defrepo="$2" defbranch="$3" [ -z "$defbranch" ] && defbranch="develop" -rm -r "$repo" || true +rm -r "$defrepo" || true clone() { - branch=$1 + org=$1 + repo=$2 + branch=$3 if [ -n "$branch" ] then - echo "Trying to use the branch $branch" + echo "Trying to use $org/$repo#$branch" git clone https://github.com/$org/$repo.git $repo --branch "$branch" && exit 0 fi } - # Try the PR author's branch in case it exists on the deps as well. -clone $BUILDKITE_BRANCH +# If BUILDKITE_BRANCH is set, it will contain either: +# * "branch" when the author's branch and target branch are in the same repo +# * "author:branch" when the author's branch is in their fork +# We can split on `:` into an array to check. +BUILDKITE_BRANCH_ARRAY=(${BUILDKITE_BRANCH//:/ }) +if [[ "${#BUILDKITE_BRANCH_ARRAY[@]}" == "1" ]]; then + clone $deforg $defrepo $BUILDKITE_BRANCH +elif [[ "${#BUILDKITE_BRANCH_ARRAY[@]}" == "2" ]]; then + clone ${BUILDKITE_BRANCH_ARRAY[0]} $defrepo ${BUILDKITE_BRANCH_ARRAY[1]} +fi # Try the target branch of the push or PR. -clone $BUILDKITE_PULL_REQUEST_BASE_BRANCH +clone $deforg $defrepo $BUILDKITE_PULL_REQUEST_BASE_BRANCH # Try the current branch from Jenkins. -clone `"echo $GIT_BRANCH" | sed -e 's/^origin\///'` +clone $deforg $defrepo `"echo $GIT_BRANCH" | sed -e 's/^origin\///'` # Use the default branch as the last resort. -clone $defbranch +clone $deforg $defrepo $defbranch From 1a8fe4dd430080427a5386b8c0669f2b5be4c09e Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 20 Mar 2019 10:54:06 +0000 Subject: [PATCH 35/47] Go back to using mainine velocity We moved off to our own fork of velocity many moons ago to fix a memory leak bug when velocity was being barely maintained. They have now merged the bugfix, so go back to mainline. --- package.json | 2 +- src/Velociraptor.js | 2 +- src/VelocityBounce.js | 2 +- src/components/structures/BottomLeftMenu.js | 4 ++-- .../views/dialogs/DeactivateAccountDialog.js | 2 +- yarn.lock | 11 +++++------ 6 files changed, 11 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index ad48555fc7..3144eb7fa6 100644 --- a/package.json +++ b/package.json @@ -99,7 +99,7 @@ "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" }, diff --git a/src/Velociraptor.js b/src/Velociraptor.js index ad51f66ae3..d2cae5c2a7 100644 --- a/src/Velociraptor.js +++ b/src/Velociraptor.js @@ -1,7 +1,7 @@ const React = require('react'); const ReactDom = require('react-dom'); import PropTypes from 'prop-types'; -const Velocity = require('velocity-vector'); +const Velocity = require('velocity-animate'); /** * The Velociraptor contains components and animates transitions with velocity. diff --git a/src/VelocityBounce.js b/src/VelocityBounce.js index b9513249b8..db216f81fb 100644 --- a/src/VelocityBounce.js +++ b/src/VelocityBounce.js @@ -1,4 +1,4 @@ -const Velocity = require('velocity-vector'); +const Velocity = require('velocity-animate'); // courtesy of https://github.com/julianshapiro/velocity/issues/283 // We only use easeOutBounce (easeInBounce is just sort of nonsensical) diff --git a/src/components/structures/BottomLeftMenu.js b/src/components/structures/BottomLeftMenu.js index 2f48bd0299..5f2b954300 100644 --- a/src/components/structures/BottomLeftMenu.js +++ b/src/components/structures/BottomLeftMenu.js @@ -19,8 +19,8 @@ import React from 'react'; import ReactDOM from 'react-dom'; import sdk from '../../index'; import dis from '../../dispatcher'; -import Velocity from 'velocity-vector'; -import 'velocity-vector/velocity.ui'; +import Velocity from 'velocity-animate'; +import 'velocity-animate/velocity.ui'; import SettingsStore from '../../settings/SettingsStore'; const CALLOUT_ANIM_DURATION = 1000; diff --git a/src/components/views/dialogs/DeactivateAccountDialog.js b/src/components/views/dialogs/DeactivateAccountDialog.js index 6e87a816bb..53cec93d03 100644 --- a/src/components/views/dialogs/DeactivateAccountDialog.js +++ b/src/components/views/dialogs/DeactivateAccountDialog.js @@ -21,7 +21,7 @@ import sdk from '../../../index'; import Analytics from '../../../Analytics'; import MatrixClientPeg from '../../../MatrixClientPeg'; import * as Lifecycle from '../../../Lifecycle'; -import Velocity from 'velocity-vector'; +import Velocity from 'velocity-animate'; import { _t } from '../../../languageHandler'; export default class DeactivateAccountDialog extends React.Component { diff --git a/yarn.lock b/yarn.lock index 58e3f6df52..454c0c8a47 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3956,7 +3956,7 @@ jest-regex-util@^24.3.0: resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.3.0.tgz#d5a65f60be1ae3e310d5214a0307581995227b36" integrity sha512-tXQR1NEOyGlfylyEjg1ImtScwMq8Oh3iJbGTjN7p0J23EuVX1MA8rwU69K4sLbCmwzgCUbVkm0FkSF9TdzOhtg== -"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== @@ -6851,11 +6851,10 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" -"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 58b2068fbf0cd54fabf3644964ca64ee4862ea00 Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 20 Mar 2019 17:43:19 +0000 Subject: [PATCH 36/47] Set velocity's mock option in the unit test --- test/components/structures/MessagePanel-test.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/test/components/structures/MessagePanel-test.js b/test/components/structures/MessagePanel-test.js index 0a51cb8918..38f97dd8f9 100644 --- a/test/components/structures/MessagePanel-test.js +++ b/test/components/structures/MessagePanel-test.js @@ -31,6 +31,8 @@ import Matrix from 'matrix-js-sdk'; const test_utils = require('test-utils'); const mockclock = require('mock-clock'); +import Velocity from 'velocity-animate'; + let client; const room = new Matrix.Room(); @@ -65,9 +67,17 @@ describe('MessagePanel', function() { // HACK: We assume all settings want to be disabled SettingsStore.getValue = sinon.stub().returns(false); + + // This option clobbers the duratrion of all animations to be 1ms + // which makes unit testing a lot simpler (the animation doesn't + // complete without this even if we mock the clock and tick it + // what should be the correct amount of time). + Velocity.mock = true; }); afterEach(function() { + delete Velocity.mock; + clock.uninstall(); sandbox.restore(); }); From 6f79e8503a1923bd225ee93e98157cb650b36237 Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Wed, 20 Mar 2019 17:57:51 +0000 Subject: [PATCH 37/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/fetchdep.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/fetchdep.sh b/scripts/fetchdep.sh index 1f9695778b..f82752bfc5 100755 --- a/scripts/fetchdep.sh +++ b/scripts/fetchdep.sh @@ -17,7 +17,7 @@ clone() { if [ -n "$branch" ] then echo "Trying to use $org/$repo#$branch" - git clone https://github.com/$org/$repo.git $repo --branch "$branch" && exit 0 + git clone git://github.com/$org/$repo.git $repo --branch "$branch" && exit 0 fi } From 99369a54fec25dc5022ead8f1e59f35ce96eecd0 Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Wed, 20 Mar 2019 18:11:42 +0000 Subject: [PATCH 38/47] Typo Co-Authored-By: dbkr --- test/components/structures/MessagePanel-test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/components/structures/MessagePanel-test.js b/test/components/structures/MessagePanel-test.js index 38f97dd8f9..96d898972d 100644 --- a/test/components/structures/MessagePanel-test.js +++ b/test/components/structures/MessagePanel-test.js @@ -68,7 +68,7 @@ describe('MessagePanel', function() { // HACK: We assume all settings want to be disabled SettingsStore.getValue = sinon.stub().returns(false); - // This option clobbers the duratrion of all animations to be 1ms + // This option clobbers the duration of all animations to be 1ms // which makes unit testing a lot simpler (the animation doesn't // complete without this even if we mock the clock and tick it // what should be the correct amount of time). From 8b1e05542d15e01df61c8f9f1b40a84e85d725d6 Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 20 Mar 2019 19:10:47 +0000 Subject: [PATCH 39/47] Add log grouping to buildkite --- .buildkite/pipeline.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.buildkite/pipeline.yaml b/.buildkite/pipeline.yaml index 04b047436b..4fc8254514 100644 --- a/.buildkite/pipeline.yaml +++ b/.buildkite/pipeline.yaml @@ -22,6 +22,7 @@ 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" @@ -30,7 +31,9 @@ steps: # TODO: Remove hacky chmod for BuildKite - "chmod +x ./scripts/ci/*.sh" - "chmod +x ./scripts/*" + - "echo '--- Installing Dependencies'" - "./scripts/ci/install-deps.sh" + - "echo '+++ Running Tests'" - "./scripts/ci/unit-tests.sh" env: CHROME_BIN: "/usr/bin/google-chrome-stable" @@ -42,6 +45,7 @@ steps: - label: "🔧 Riot 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" @@ -50,7 +54,9 @@ steps: # TODO: Remove hacky chmod for BuildKite - "chmod +x ./scripts/ci/*.sh" - "chmod +x ./scripts/*" + - "echo '--- Installing Dependencies'" - "./scripts/ci/install-deps.sh" + - "echo '+++ Running Tests'" - "./scripts/ci/riot-unit-tests.sh" env: CHROME_BIN: "/usr/bin/google-chrome-stable" From 817fe1a520d90a778d196c34257bcd3d38a24dc2 Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Thu, 21 Mar 2019 11:01:47 +0100 Subject: [PATCH 40/47] disable typing notifs jumping prevention for now --- src/components/structures/ScrollPanel.js | 29 ++---------------------- 1 file changed, 2 insertions(+), 27 deletions(-) diff --git a/src/components/structures/ScrollPanel.js b/src/components/structures/ScrollPanel.js index ee4045c91e..b88bd6d98e 100644 --- a/src/components/structures/ScrollPanel.js +++ b/src/components/structures/ScrollPanel.js @@ -216,8 +216,6 @@ module.exports = React.createClass({ this._lastSetScroll = undefined; } - this._checkBlockShrinking(); - this.props.onScroll(ev); this.checkFillState(); @@ -234,7 +232,6 @@ module.exports = React.createClass({ // where it ought to be, and set off pagination requests if necessary. checkScroll: function() { this._restoreSavedScrollState(); - this._checkBlockShrinking(); this.checkFillState(); }, @@ -691,36 +688,14 @@ module.exports = React.createClass({ * jumping when the typing indicator gets replaced by a smaller message. */ blockShrinking: function() { - const messageList = this.refs.itemlist; - if (messageList) { - const currentHeight = messageList.clientHeight; - messageList.style.minHeight = `${currentHeight}px`; - } + // Disabled for now because of https://github.com/vector-im/riot-web/issues/9205 }, /** * Clear the previously set min height */ clearBlockShrinking: function() { - const messageList = this.refs.itemlist; - if (messageList) { - messageList.style.minHeight = null; - } - }, - - _checkBlockShrinking: function() { - const sn = this._getScrollNode(); - const scrollState = this.scrollState; - if (!scrollState.stuckAtBottom) { - const spaceBelowViewport = sn.scrollHeight - (sn.scrollTop + sn.clientHeight); - // only if we've scrolled up 200px from the bottom - // should we clear the min-height used by the typing notifications, - // otherwise we might still see it jump as the whitespace disappears - // when scrolling up from the bottom - if (spaceBelowViewport >= 200) { - this.clearBlockShrinking(); - } - } + // Disabled for now because of https://github.com/vector-im/riot-web/issues/9205 }, render: function() { From 3ab205b64d38be88d7e632acfac469c085a68e37 Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Thu, 21 Mar 2019 11:24:01 +0100 Subject: [PATCH 41/47] Prepare changelog for v1.0.5 --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 76852d6575..b3313abacc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +Changes in [1.0.5](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.0.5) (2019-03-21) +=================================================================================================== +[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.0.4...v1.0.5) + + * Hotfix: disable typing notifs jumping prevention for now + [\#2811](https://github.com/matrix-org/matrix-react-sdk/pull/2811) + Changes in [1.0.4](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.0.4) (2019-03-18) =================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.0.4-rc.1...v1.0.4) From a483352798c2d3b0b4a48ce548d593658b5aadf4 Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Thu, 21 Mar 2019 11:27:29 +0100 Subject: [PATCH 42/47] v1.0.5 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ee423d80d3..506802e458 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "matrix-react-sdk", - "version": "1.0.4", + "version": "1.0.5", "description": "SDK for matrix.org using React", "author": "matrix.org", "repository": { From 1c677d35810a8226375f1855b3658a838b5e01a6 Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Tue, 19 Mar 2019 15:33:28 +0000 Subject: [PATCH 43/47] Change to new consistent name for `MemoryStore` --- src/MatrixClientPeg.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MatrixClientPeg.js b/src/MatrixClientPeg.js index 1cf29c3e82..ad20988d9e 100644 --- a/src/MatrixClientPeg.js +++ b/src/MatrixClientPeg.js @@ -103,7 +103,7 @@ class MatrixClientPeg { } catch (err) { if (dbType === 'indexeddb') { console.error('Error starting matrixclient store - falling back to memory store', err); - this.matrixClient.store = new Matrix.MatrixInMemoryStore({ + this.matrixClient.store = new Matrix.MemoryStore({ localStorage: global.localStorage, }); } else { From 8a0d6562dc5bcac9afe1dc2723500c442233ebc7 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Thu, 21 Mar 2019 10:32:22 -0600 Subject: [PATCH 44/47] Use medium agents for the more resource intensive builds --- .buildkite/pipeline.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.buildkite/pipeline.yaml b/.buildkite/pipeline.yaml index 4fc8254514..6a347ec002 100644 --- a/.buildkite/pipeline.yaml +++ b/.buildkite/pipeline.yaml @@ -20,6 +20,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'" @@ -43,6 +47,10 @@ steps: propagate-environment: true - label: "🔧 Riot 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 2ac7dd4ca3da3593cbdedc48981ecb728411418e Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Thu, 21 Mar 2019 15:02:26 +0000 Subject: [PATCH 45/47] Explicitly create `cryptoStore` in React SDK The React SDK has a client creation path that starts 2 out of 3 stores, but then leaves the other one for the JS SDK's default value handling. We'll soon be adding additional code to check the health of stores, so it would be simpler to follow and think about if we create them all in one place. --- src/utils/createMatrixClient.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/utils/createMatrixClient.js b/src/utils/createMatrixClient.js index 2acd1fae28..040f1e96cb 100644 --- a/src/utils/createMatrixClient.js +++ b/src/utils/createMatrixClient.js @@ -48,10 +48,6 @@ export default function createMatrixClient(opts, useIndexedDb) { useAuthorizationHeader: true, }; - if (localStorage) { - storeOpts.sessionStore = new Matrix.WebStorageSessionStore(localStorage); - } - if (indexedDB && localStorage && useIndexedDb) { storeOpts.store = new Matrix.IndexedDBStore({ indexedDB: indexedDB, @@ -61,6 +57,16 @@ export default function createMatrixClient(opts, useIndexedDb) { }); } + if (localStorage) { + storeOpts.sessionStore = new Matrix.WebStorageSessionStore(localStorage); + } + + if (indexedDB && useIndexedDb) { + storeOpts.cryptoStore = new Matrix.IndexedDBCryptoStore( + indexedDB, "matrix-js-sdk:crypto", + ); + } + opts = Object.assign(storeOpts, opts); return Matrix.createClient(opts); From c17f7a29492ab8a435ef3945ca363f8b4c6e8e18 Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Fri, 22 Mar 2019 18:50:08 +0000 Subject: [PATCH 46/47] Trim the logging for URL previews It should be sufficient to have the error stack and general log message for URL preview failure. --- src/components/views/rooms/LinkPreviewWidget.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/views/rooms/LinkPreviewWidget.js b/src/components/views/rooms/LinkPreviewWidget.js index 5f32a6a613..8b6f295080 100644 --- a/src/components/views/rooms/LinkPreviewWidget.js +++ b/src/components/views/rooms/LinkPreviewWidget.js @@ -52,7 +52,7 @@ module.exports = React.createClass({ this.props.onHeightChanged, ); }, (error)=>{ - console.error("Failed to get preview for " + this.props.link + " " + error); + console.error("Failed to get URL preview: " + error); }).done(); }, From 00335e246274d1bfd4bcd6f3a340598d5ba3592a Mon Sep 17 00:00:00 2001 From: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com> Date: Sat, 23 Mar 2019 20:53:09 -0700 Subject: [PATCH 47/47] Fix bug with NetworkList dropdown The NetworkDropdown component was incorrectly guarding against a null check when retrieving the list of networks Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com> --- src/components/views/directory/NetworkDropdown.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/views/directory/NetworkDropdown.js b/src/components/views/directory/NetworkDropdown.js index ebfff5ae8c..722fe21c1b 100644 --- a/src/components/views/directory/NetworkDropdown.js +++ b/src/components/views/directory/NetworkDropdown.js @@ -131,10 +131,11 @@ export default class NetworkDropdown extends React.Component { _getMenuOptions() { const options = []; + const roomDirectory = this.props.config.roomDirectory || {}; let servers = []; - if (this.props.config.roomDirectory.servers) { - servers = servers.concat(this.props.config.roomDirectory.servers); + if (roomDirectory.servers) { + servers = servers.concat(roomDirectory.servers); } if (!servers.includes(MatrixClientPeg.getHomeServerName())) {