From 93c44390458f00bcdff090df2c1d4950870cd705 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Mon, 6 Jan 2020 13:30:56 +0000 Subject: [PATCH 01/51] js-sdk rc.1 --- package.json | 2 +- yarn.lock | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index ad446e26cc..61e12eceda 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "linkifyjs": "^2.1.6", "lodash": "^4.17.14", "lolex": "4.2", - "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop", + "matrix-js-sdk": "2.4.7", "optimist": "^0.6.1", "pako": "^1.0.5", "png-chunks-extract": "^1.0.0", diff --git a/yarn.lock b/yarn.lock index a491ba3941..1646ac5a59 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5271,9 +5271,10 @@ mathml-tag-names@^2.0.1: resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.1.tgz#6dff66c99d55ecf739ca53c492e626f1d12a33cc" integrity sha512-pWB896KPGSGkp1XtyzRBftpTzwSOL0Gfk0wLvxt4f2mgzjY19o0LxJ3U25vNWTzsh7da+KTbuXQoQ3lOJZ8WHw== -"matrix-js-sdk@github:matrix-org/matrix-js-sdk#develop": - version "2.4.6" - resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/01f0dd4498fb689cb66091aff7aa0ae49f9b8ebf" +matrix-js-sdk@2.4.7: + version "2.4.7" + resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-2.4.7.tgz#998949120cb6cfb6362af6ff7b6bce326f7dca6f" + integrity sha512-3BVlZrHJYt7j5N83BLEeqroe4Gi2J/ycZKvKIe6s6SEygP8TpUP+trVSd+bSLm7c2JpPpMCoEsJ22aaPcbWVDQ== dependencies: another-json "^0.2.0" browser-request "^0.3.3" From 6b8f6239c5f29ef3d969c8f7700f097d35ff139b Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Mon, 6 Jan 2020 13:58:43 +0000 Subject: [PATCH 02/51] js-sdk 3.0.0-rc.1 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 61e12eceda..1b97d84abb 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "linkifyjs": "^2.1.6", "lodash": "^4.17.14", "lolex": "4.2", - "matrix-js-sdk": "2.4.7", + "matrix-js-sdk": "3.0.0-rc.1", "optimist": "^0.6.1", "pako": "^1.0.5", "png-chunks-extract": "^1.0.0", diff --git a/yarn.lock b/yarn.lock index 1646ac5a59..982760c49a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5271,10 +5271,10 @@ mathml-tag-names@^2.0.1: resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.1.tgz#6dff66c99d55ecf739ca53c492e626f1d12a33cc" integrity sha512-pWB896KPGSGkp1XtyzRBftpTzwSOL0Gfk0wLvxt4f2mgzjY19o0LxJ3U25vNWTzsh7da+KTbuXQoQ3lOJZ8WHw== -matrix-js-sdk@2.4.7: - version "2.4.7" - resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-2.4.7.tgz#998949120cb6cfb6362af6ff7b6bce326f7dca6f" - integrity sha512-3BVlZrHJYt7j5N83BLEeqroe4Gi2J/ycZKvKIe6s6SEygP8TpUP+trVSd+bSLm7c2JpPpMCoEsJ22aaPcbWVDQ== +matrix-js-sdk@3.0.0-rc.1: + version "3.0.0-rc.1" + resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-3.0.0-rc.1.tgz#6ecdedab752933f6a0ccf6aa7d2786bd32f6d7f7" + integrity sha512-1eaECVqG64tj1pE0UBFTIGc1whryXLNaRpkrXrZ5+ZMDtuK2ZDlTOLYoK3t4z/hjn+4C6a294ytoEVe0UnIA8w== dependencies: another-json "^0.2.0" browser-request "^0.3.3" From 623799ebdcededefc5c34c3dd5a93fc08fc79f1e Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Mon, 6 Jan 2020 14:01:54 +0000 Subject: [PATCH 03/51] Prepare changelog for v1.7.6-rc.1 --- CHANGELOG.md | 174 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 174 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5390cad319..3ad057dc7c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,177 @@ +Changes in [1.7.6-rc.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.7.6-rc.1) (2020-01-06) +============================================================================================================= +[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.7.5...v1.7.6-rc.1) + + * Deduplicate recent emoji + [\#3806](https://github.com/matrix-org/matrix-react-sdk/pull/3806) + * Fix ability to remove avatars + [\#3803](https://github.com/matrix-org/matrix-react-sdk/pull/3803) + * Update from Weblate + [\#3810](https://github.com/matrix-org/matrix-react-sdk/pull/3810) + * User Info fetch latest RoomMember instead of showing historical data + [\#3788](https://github.com/matrix-org/matrix-react-sdk/pull/3788) + * Remove all usages of slate in favour of CIDER + [\#3808](https://github.com/matrix-org/matrix-react-sdk/pull/3808) + * Use display name when pinned messages are changed + [\#3809](https://github.com/matrix-org/matrix-react-sdk/pull/3809) + * Fix inverted diff line highlighting in dark theme + [\#3790](https://github.com/matrix-org/matrix-react-sdk/pull/3790) + * Bridge info settings tab + [\#3693](https://github.com/matrix-org/matrix-react-sdk/pull/3693) + * Send the labs flags the client is running with in rageshake + [\#3805](https://github.com/matrix-org/matrix-react-sdk/pull/3805) + * Initial implementation of FTUE user lists design + [\#3792](https://github.com/matrix-org/matrix-react-sdk/pull/3792) + * Update key backup creation and recovery paths for SSSS + [\#3800](https://github.com/matrix-org/matrix-react-sdk/pull/3800) + * Don't fail if logs exists and is an empty dir + [\#3798](https://github.com/matrix-org/matrix-react-sdk/pull/3798) + * Comment remaining non-cross-signing-compliant components + [\#3799](https://github.com/matrix-org/matrix-react-sdk/pull/3799) + * Remove 'unverify' from UserInfoPanel + [\#3797](https://github.com/matrix-org/matrix-react-sdk/pull/3797) + * Use deviceTrust when displaying key backup trust status + [\#3795](https://github.com/matrix-org/matrix-react-sdk/pull/3795) + * Don't crash if a keyshare request is removed + [\#3793](https://github.com/matrix-org/matrix-react-sdk/pull/3793) + * Convert /verify to checkDeviceTrust + [\#3794](https://github.com/matrix-org/matrix-react-sdk/pull/3794) + * Remove E2eIcon onClick + [\#3791](https://github.com/matrix-org/matrix-react-sdk/pull/3791) + * support channel names with slash in name/alias + [\#3778](https://github.com/matrix-org/matrix-react-sdk/pull/3778) + * Fix NPE when filtering the room list + [\#3787](https://github.com/matrix-org/matrix-react-sdk/pull/3787) + * Turn RoomAliasField into properly controlled and use in RoomSettings + [\#3782](https://github.com/matrix-org/matrix-react-sdk/pull/3782) + * fuzzy-sort MemberList + [\#3783](https://github.com/matrix-org/matrix-react-sdk/pull/3783) + * Serialize file uploads into room to match confirmation dialog order + [\#3786](https://github.com/matrix-org/matrix-react-sdk/pull/3786) + * Do not show Top Unread Messages Bar and Jump to bottom button if searching + [\#3785](https://github.com/matrix-org/matrix-react-sdk/pull/3785) + * Fix sticker picker chevron offset calculation + [\#3784](https://github.com/matrix-org/matrix-react-sdk/pull/3784) + * Fix not being able to promote others to the same power level as your own + [\#3781](https://github.com/matrix-org/matrix-react-sdk/pull/3781) + * Room Tile DMs online/active green dot + [\#3751](https://github.com/matrix-org/matrix-react-sdk/pull/3751) + * Fix spelling and grammar in README + [\#3780](https://github.com/matrix-org/matrix-react-sdk/pull/3780) + * Reintroduce working resizer code for right panel + [\#3776](https://github.com/matrix-org/matrix-react-sdk/pull/3776) + * Fix wrong scope binding on openHelp for TopLeftMenu + [\#3775](https://github.com/matrix-org/matrix-react-sdk/pull/3775) + * UserInfo hide kick/mute buttons if they make no sense + [\#3774](https://github.com/matrix-org/matrix-react-sdk/pull/3774) + * Fix duplicate Incoming Call prompt on Community Invite sublist + [\#3773](https://github.com/matrix-org/matrix-react-sdk/pull/3773) + * Apply new design to highlighted tags and add toggle mechanic + [\#3755](https://github.com/matrix-org/matrix-react-sdk/pull/3755) + * stop using ReactDOM.findDOMNode in componentWillUnmount, use refs + [\#3771](https://github.com/matrix-org/matrix-react-sdk/pull/3771) + * Add alt="" to presentational images + [\#3772](https://github.com/matrix-org/matrix-react-sdk/pull/3772) + * Fix room list filtering weird case sensitivity + [\#3759](https://github.com/matrix-org/matrix-react-sdk/pull/3759) + * Don't show the 'verify' button if the user is verified + [\#3758](https://github.com/matrix-org/matrix-react-sdk/pull/3758) + * Switch to using checkDeviceTrust + [\#3757](https://github.com/matrix-org/matrix-react-sdk/pull/3757) + * Migrate away from React Legacy contexts API + [\#3743](https://github.com/matrix-org/matrix-react-sdk/pull/3743) + * Migrate key backups to SSSS + [\#3749](https://github.com/matrix-org/matrix-react-sdk/pull/3749) + * Get rid of stripped-emoji.json in favour of an in-memory single source of + truth + [\#3745](https://github.com/matrix-org/matrix-react-sdk/pull/3745) + * Combine cross signing and verification over DM feature flags + [\#3753](https://github.com/matrix-org/matrix-react-sdk/pull/3753) + * apply unhomoglyph when filtering room list to fuzzify it + [\#3754](https://github.com/matrix-org/matrix-react-sdk/pull/3754) + * Make EmojiPicker an unmanaged Context Menu as it is too complex to be + managed + [\#3746](https://github.com/matrix-org/matrix-react-sdk/pull/3746) + * Internationalise M_TOO_LARGE error from Synapse + [\#3750](https://github.com/matrix-org/matrix-react-sdk/pull/3750) + * Replace UserInfo avatar with for fallback logic + [\#3748](https://github.com/matrix-org/matrix-react-sdk/pull/3748) + * Dropdown stop keyboard propagation if key handled + [\#3741](https://github.com/matrix-org/matrix-react-sdk/pull/3741) + * Fix right panel for multiple member info viewings + [\#3742](https://github.com/matrix-org/matrix-react-sdk/pull/3742) + * Fix Field validation tooltip sticking if blurred before async validation + resolved + [\#3740](https://github.com/matrix-org/matrix-react-sdk/pull/3740) + * Fix UserInfo exploding without a room being passed to it + [\#3738](https://github.com/matrix-org/matrix-react-sdk/pull/3738) + * Fix room directory maintaining and error state + [\#3737](https://github.com/matrix-org/matrix-react-sdk/pull/3737) + * Stop trapping tab in AddressPickerDialog + [\#3735](https://github.com/matrix-org/matrix-react-sdk/pull/3735) + * Stop using KeyboardEvent.keyCode as it is deprecated + [\#3736](https://github.com/matrix-org/matrix-react-sdk/pull/3736) + * Implement new design for uploading/removing avatars + [\#3733](https://github.com/matrix-org/matrix-react-sdk/pull/3733) + * Fix aspect ratio on room/profile avatar preview + [\#3731](https://github.com/matrix-org/matrix-react-sdk/pull/3731) + * Switch to react-focus-lock for it to comprehend Portals + [\#3732](https://github.com/matrix-org/matrix-react-sdk/pull/3732) + * Make combobox dropdown keyboard and screen reader accessible + [\#3729](https://github.com/matrix-org/matrix-react-sdk/pull/3729) + * Verify users when cross-signing enabled + [\#3728](https://github.com/matrix-org/matrix-react-sdk/pull/3728) + * Update from Weblate + [\#3730](https://github.com/matrix-org/matrix-react-sdk/pull/3730) + * Improve a11y of the unignore button in Settings + [\#3727](https://github.com/matrix-org/matrix-react-sdk/pull/3727) + * Fix ToggleSwitch A11Y (trapping tab and switch v. checkbox) + [\#3726](https://github.com/matrix-org/matrix-react-sdk/pull/3726) + * Make URL previews dismissable via keyboard and accessible to screen readers + [\#3725](https://github.com/matrix-org/matrix-react-sdk/pull/3725) + * Create new key backups using secret storage + [\#3720](https://github.com/matrix-org/matrix-react-sdk/pull/3720) + * Replace sign-ins with sessions + [\#3721](https://github.com/matrix-org/matrix-react-sdk/pull/3721) + * Refactor RightPanel to match expected behaviour + [\#3703](https://github.com/matrix-org/matrix-react-sdk/pull/3703) + * Render policy room event updates in the timeline + [\#3716](https://github.com/matrix-org/matrix-react-sdk/pull/3716) + * Wrap the await call for unknown device lookups + [\#3718](https://github.com/matrix-org/matrix-react-sdk/pull/3718) + * Add testing flow to bootstrap secret storage + [\#3640](https://github.com/matrix-org/matrix-react-sdk/pull/3640) + * Fix remaining context menu regressions + [\#3715](https://github.com/matrix-org/matrix-react-sdk/pull/3715) + * Migrate away from React Legacy string refs + [\#3712](https://github.com/matrix-org/matrix-react-sdk/pull/3712) + * Update copy for DM invites + [\#3706](https://github.com/matrix-org/matrix-react-sdk/pull/3706) + * Fix message action bar reaction picker regression + [\#3714](https://github.com/matrix-org/matrix-react-sdk/pull/3714) + * Add what-input to allow different scoping to focus-visible for MAB a11y + [\#3709](https://github.com/matrix-org/matrix-react-sdk/pull/3709) + * Mark the This/All Rooms scope buttons as radios for a11y + [\#3708](https://github.com/matrix-org/matrix-react-sdk/pull/3708) + * Switch ReactionsRowButton to an AccessibleButton for space/enter handling + [\#3707](https://github.com/matrix-org/matrix-react-sdk/pull/3707) + * Change the (edited) link to an AccessibleButton for a11y + [\#3710](https://github.com/matrix-org/matrix-react-sdk/pull/3710) + * Update from Weblate + [\#3713](https://github.com/matrix-org/matrix-react-sdk/pull/3713) + * Fix ?via= args in SpecPermalinkConstructor.js + [\#3694](https://github.com/matrix-org/matrix-react-sdk/pull/3694) + * Don't mark a room as unread when server ACLs are set + [\#3705](https://github.com/matrix-org/matrix-react-sdk/pull/3705) + * Make reaction buttons more accessible + [\#3704](https://github.com/matrix-org/matrix-react-sdk/pull/3704) + * yarn upgrade + [\#3701](https://github.com/matrix-org/matrix-react-sdk/pull/3701) + * Make CI scripts executable + [\#3698](https://github.com/matrix-org/matrix-react-sdk/pull/3698) + * ARIA compliant context menus + [\#3611](https://github.com/matrix-org/matrix-react-sdk/pull/3611) + Changes in [1.7.5](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.7.5) (2019-12-09) =================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.7.5-rc.1...v1.7.5) From 0df16631c24824c4cca5902a83e8c574d12fed9f Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Mon, 6 Jan 2020 14:01:54 +0000 Subject: [PATCH 04/51] v1.7.6-rc.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1b97d84abb..f155738fbd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "matrix-react-sdk", - "version": "1.7.5", + "version": "1.7.6-rc.1", "description": "SDK for matrix.org using React", "author": "matrix.org", "repository": { From dac31dbe00176d28ec93c0ef579e05f00e808cc1 Mon Sep 17 00:00:00 2001 From: Szimszon Date: Mon, 6 Jan 2020 21:08:18 +0000 Subject: [PATCH 05/51] Translated using Weblate (Hungarian) Currently translated at 100.0% (2000 of 2000 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/hu/ --- src/i18n/strings/hu.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json index 92113c3238..10da7537a9 100644 --- a/src/i18n/strings/hu.json +++ b/src/i18n/strings/hu.json @@ -2034,5 +2034,6 @@ "Connected to on ": "Ide csatlakozva: itt: ", "Connected via %(protocolName)s": "Ezzel a protokollal csatlakozva: %(protocolName)s", "Bridge Info": "Híd információ", - "Below is a list of bridges connected to this room.": "Alább látható a lista a szobához kapcsolódó hidakról." + "Below is a list of bridges connected to this room.": "Alább látható a lista a szobához kapcsolódó hidakról.", + "Suggestions": "Javaslatok" } From 69dde64a7a6670f9954bfd94d3b64c3afa4af99f Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Tue, 7 Jan 2020 02:52:43 +0000 Subject: [PATCH 06/51] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (1998 of 1998 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/zh_Hant/ --- src/i18n/strings/zh_Hant.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/zh_Hant.json b/src/i18n/strings/zh_Hant.json index db75121f07..d58f37b37a 100644 --- a/src/i18n/strings/zh_Hant.json +++ b/src/i18n/strings/zh_Hant.json @@ -2033,5 +2033,6 @@ "Connected to on ": "連線到 ", "Connected via %(protocolName)s": "透過 %(protocolName)s 連線", "Bridge Info": "橋接資訊", - "Below is a list of bridges connected to this room.": "以下是連線到此聊天室的橋接列表。" + "Below is a list of bridges connected to this room.": "以下是連線到此聊天室的橋接列表。", + "Suggestions": "建議" } From 0381334f45de10054797c170fd89ef221a4db55a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20C?= Date: Tue, 7 Jan 2020 11:02:59 +0000 Subject: [PATCH 07/51] Translated using Weblate (French) Currently translated at 100.0% (1998 of 1998 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/fr/ --- src/i18n/strings/fr.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index c2ee7c575b..7261f62f3a 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -2033,5 +2033,6 @@ "Connected to on ": "Connecté à sur ", "Connected via %(protocolName)s": "Connecté via %(protocolName)s", "Bridge Info": "Informations de la passerelle", - "Below is a list of bridges connected to this room.": "Vous trouverez ci-dessous la liste des passerelles connectées à ce salon." + "Below is a list of bridges connected to this room.": "Vous trouverez ci-dessous la liste des passerelles connectées à ce salon.", + "Suggestions": "Suggestions" } From 8606bb9fba98a39444158e3408d121197465c9ba Mon Sep 17 00:00:00 2001 From: random Date: Tue, 7 Jan 2020 13:50:05 +0000 Subject: [PATCH 08/51] Translated using Weblate (Italian) Currently translated at 99.9% (1997 of 1998 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/it/ --- src/i18n/strings/it.json | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/it.json b/src/i18n/strings/it.json index 390729950b..22fc083d08 100644 --- a/src/i18n/strings/it.json +++ b/src/i18n/strings/it.json @@ -2017,5 +2017,20 @@ "The message you are trying to send is too large.": "Il messaggio che stai tentando di inviare è troppo grande.", "Secret Storage will be set up using your existing key backup details.Your secret storage passphrase and recovery key will be the same as they were for your key backup": "L'archivio segreto verrà impostato usando i dettagli del tuo backup chiavi. La password dell'archivio segreto e la chiave di ripristino saranno le stesse del tuo backup chiavi", "Migrate from Key Backup": "Migra dal backup chiavi", - "Help": "Aiuto" + "Help": "Aiuto", + "New DM invite dialog (under development)": "Nuovo invito via messaggio diretto (in sviluppo)", + "Show info about bridges in room settings": "Mostra info sui bridge nelle impostazioni stanza", + "This bridge was provisioned by ": "Questo bridge è stato fornito da ", + "This bridge is managed by .": "Questo bridge è gestito da .", + "Bridged into , on ": "Bridge in , su ", + "Connected to on ": "Connesso a su ", + "Connected via %(protocolName)s": "Connesso via %(protocolName)s", + "Bridge Info": "Info bridge", + "Below is a list of bridges connected to this room.": "Sotto vedi una lista di brdige connessi a questa stanza.", + "Recent Conversations": "Conversazioni recenti", + "Suggestions": "Suggerimenti", + "Show more": "Mostra altro", + "Direct Messages": "Messaggi diretti", + "If you can't find someone, ask them for their username, or share your username (%(userId)s) or profile link.": "Se non riesci a trovare qualcuno, chiedigli il nome utente o condividi il tuo (%(userId)s) o il link al profilo.", + "Go": "Vai" } From 56152e4c60ba22964b139a9c9b76f51aa22d2da2 Mon Sep 17 00:00:00 2001 From: Hucki Date: Tue, 7 Jan 2020 21:38:22 +0000 Subject: [PATCH 09/51] Translated using Weblate (German) Currently translated at 76.1% (1521 of 1998 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/ --- src/i18n/strings/de_DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/strings/de_DE.json b/src/i18n/strings/de_DE.json index 4eb038ec33..1e75c59a21 100644 --- a/src/i18n/strings/de_DE.json +++ b/src/i18n/strings/de_DE.json @@ -1238,7 +1238,7 @@ "Banana": "Banane", "Apple": "Apfel", "Strawberry": "Erdbeere", - "Corn": "Weizen", + "Corn": "Mais", "Pizza": "Pizza", "Cake": "Kuchen", "Heart": "Herz", From 36e11c7581325f8ffc179e4678e3528f453c6707 Mon Sep 17 00:00:00 2001 From: catborise Date: Tue, 7 Jan 2020 17:30:43 +0000 Subject: [PATCH 10/51] Translated using Weblate (Turkish) Currently translated at 55.7% (1113 of 1998 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/tr/ --- src/i18n/strings/tr.json | 56 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/tr.json b/src/i18n/strings/tr.json index 159cb61965..495b882104 100644 --- a/src/i18n/strings/tr.json +++ b/src/i18n/strings/tr.json @@ -1071,5 +1071,59 @@ "Pizza": "Pizza", "Cake": "Kek", "Heart": "Kalp", - "Trophy": "Ödül" + "Trophy": "Ödül", + "wait and try again later": "bekle ve tekrar dene", + "Disconnect anyway": "Yinede bağlantıyı kes", + "Go back": "Geri dön", + "Identity Server (%(server)s)": "(%(server)s) Kimlik Sunucusu", + "Identity Server": "Kimlik Sunucusu", + "Do not use an identity server": "Bir kimlik sunucu kullanma", + "Enter a new identity server": "Yeni bir kimlik sunucu gir", + "Change": "Değiştir", + "Manage integrations": "Entegrasyonları yönet", + "Email addresses": "E-posta adresleri", + "Phone numbers": "Telefon numaraları", + "Language and region": "Dil ve bölge", + "Theme": "Tema", + "Account management": "Hesap yönetimi", + "Warning": "Uyarı", + "General": "Genel", + "Discovery": "Keşfet", + "Legal": "Yasal", + "Check for update": "Güncelleme kontrolü", + "Help & About": "Yardım & Hakkında", + "Bug reporting": "Hata raporlama", + "FAQ": "FAQ", + "Versions": "Sürümler", + "Server rules": "Sunucu kuralları", + "User rules": "Kullanıcı kuralları", + "View rules": "Kuralları görüntüle", + "Room list": "Oda listesi", + "Autocomplete delay (ms)": "Oto tamamlama gecikmesi (ms)", + "Key backup": "Anahtar yedek", + "Cross-signing": "Çapraz-imzalama", + "Security & Privacy": "Güvenlik & Gizlilik", + "Learn more about how we use analytics.": "Analizleri nasıl kullandığımız hakkında daha fazla öğrenin.", + "No Audio Outputs detected": "Ses çıkışları tespit edilemedi", + "Audio Output": "Ses Çıkışı", + "Voice & Video": "Ses & Video", + "this room": "bu oda", + "Room information": "Oda bilgisi", + "Room version": "Oda sürümü", + "Room version:": "Oda versiyonu:", + "Developer options": "Geliştirici ayarları", + "Open Devtools": "Geliştirici araçlarını aç", + "Room Addresses": "Oda Adresleri", + "Uploaded sound": "Yüklenen ses", + "Sounds": "Sesler", + "Notification sound": "Bildirim sesi", + "Reset": "Sıfırla", + "Browse": "Gözat", + "Change room name": "Oda adını değiştir", + "Change history visibility": "Geçmiş görünürlüğünü değiştir", + "Change permissions": "İzinleri değiştir", + "Upgrade the room": "Odayı güncelle", + "Enable room encryption": "Oda şifrelemeyi aç", + "Modify widgets": "Görsel bileşenleri düzenle", + "Banned by %(displayName)s": "%(displayName)s tarafından yasaklandı" } From f31cc7dfeee4fb5423c62359e8d87e023520d25c Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 7 Jan 2020 18:48:55 +0000 Subject: [PATCH 11/51] Strip all variation selectors on emoji ...when inserting into or looking up in the unicode to emoji map. This broke with emojibase 4.2.0 which changed the type of a whole load of emojis to 'text' when previously they were 'emoji'. This caused them to get the 'text' variant of the unicode string which has the text variation selector (15) appended instead of the emoji variation selector (16). We were only stripping the emoji selector, so upgrading to 4.2.0 caused riot to fail to find the heart in the unicode map, which therefore prevented the app from starting. --- src/emoji.js | 39 ++++++++++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/src/emoji.js b/src/emoji.js index 7b7a9c1bfe..8b3c4c9fe4 100644 --- a/src/emoji.js +++ b/src/emoji.js @@ -16,14 +16,12 @@ limitations under the License. import EMOJIBASE from 'emojibase-data/en/compact.json'; -export const VARIATION_SELECTOR = String.fromCharCode(0xFE0F); - // The unicode is stored without the variant selector const UNICODE_TO_EMOJI = new Map(); // not exported as gets for it are handled by getEmojiFromUnicode export const EMOTICON_TO_EMOJI = new Map(); export const SHORTCODE_TO_EMOJI = new Map(); -export const getEmojiFromUnicode = unicode => UNICODE_TO_EMOJI.get(unicode.replace(VARIATION_SELECTOR, "")); +export const getEmojiFromUnicode = unicode => UNICODE_TO_EMOJI.get(stripVariation(unicode)); const EMOJIBASE_GROUP_ID_TO_CATEGORY = [ "people", // smileys @@ -51,13 +49,6 @@ export const DATA_BY_CATEGORY = { // Store various mappings from unicode/emoticon/shortcode to the Emoji objects EMOJIBASE.forEach(emoji => { - if (emoji.unicode.includes(VARIATION_SELECTOR)) { - // Clone data into variation-less version - emoji = Object.assign({}, emoji, { - unicode: emoji.unicode.replace(VARIATION_SELECTOR, ""), - }); - } - const categoryId = EMOJIBASE_GROUP_ID_TO_CATEGORY[emoji.group]; if (DATA_BY_CATEGORY.hasOwnProperty(categoryId)) { DATA_BY_CATEGORY[categoryId].push(emoji); @@ -66,7 +57,13 @@ EMOJIBASE.forEach(emoji => { emoji.filterString = `${emoji.annotation}\n${emoji.shortcodes.join('\n')}}\n${emoji.emoticon || ''}`.toLowerCase(); // Add mapping from unicode to Emoji object - UNICODE_TO_EMOJI.set(emoji.unicode, emoji); + // The 'unicode' field that we use in emojibase has either + // VS15 or VS16 appended to any characters that can take + // variation selectors. Which one it appends depends + // on whether emojibase considers their type to be 'text' or + // 'emoji'. We therefore strip any variation chars from strings + // both when building the map and when looking up. + UNICODE_TO_EMOJI.set(stripVariation(emoji.unicode), emoji); if (emoji.emoticon) { // Add mapping from emoticon to Emoji object @@ -80,3 +77,23 @@ EMOJIBASE.forEach(emoji => { }); } }); + +/** + * Strips variation selectors from a string + * NB. Skin tone modifers are not variation selectors: + * this function does not touch them. (Should it?) + * + * @param {string} str string to strip + * @returns {string} stripped string + */ +function stripVariation(str) { + let ret = ''; + for (let i = 0; i < str.length; ++i) { + const charCode = str.charCodeAt(i); + // append to output only if it's outside the variation selector range + if (charCode < 0xFE00 && charCode > 0xFE0F) { + ret += str.charAt(i); + } + } + return ret; +} From bd336b0710cc95a9cdf497c270607de70d33fd1c Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 7 Jan 2020 19:57:17 +0000 Subject: [PATCH 12/51] Use a regex because it's simpler and works and my loop did not because I meant 'or', not 'and' --- src/emoji.js | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/emoji.js b/src/emoji.js index 8b3c4c9fe4..d62630ae08 100644 --- a/src/emoji.js +++ b/src/emoji.js @@ -87,13 +87,5 @@ EMOJIBASE.forEach(emoji => { * @returns {string} stripped string */ function stripVariation(str) { - let ret = ''; - for (let i = 0; i < str.length; ++i) { - const charCode = str.charCodeAt(i); - // append to output only if it's outside the variation selector range - if (charCode < 0xFE00 && charCode > 0xFE0F) { - ret += str.charAt(i); - } - } - return ret; + return str.replace("\uFE00-\uFE0F", ""); } From 96cb1ddff5c718a7575a3af1cb5fdcb03ef9c967 Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 7 Jan 2020 20:41:19 +0000 Subject: [PATCH 13/51] Use a regex that actually works --- src/emoji.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/emoji.js b/src/emoji.js index d62630ae08..125864e381 100644 --- a/src/emoji.js +++ b/src/emoji.js @@ -87,5 +87,5 @@ EMOJIBASE.forEach(emoji => { * @returns {string} stripped string */ function stripVariation(str) { - return str.replace("\uFE00-\uFE0F", ""); + return str.replace(/[\uFE00-\uFE0F]/, ""); } From f03d55cfe18550efaa4e56388219cf396b4a0b36 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Wed, 8 Jan 2020 11:20:29 +0000 Subject: [PATCH 14/51] Prepare changelog for v1.7.6-rc.2 --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ad057dc7c..a416920529 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +Changes in [1.7.6-rc.2](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.7.6-rc.2) (2020-01-08) +============================================================================================================= +[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.7.6-rc.1...v1.7.6-rc.2) + + * Strip all variation selectors on emoji + [\#3818](https://github.com/matrix-org/matrix-react-sdk/pull/3818) + Changes in [1.7.6-rc.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.7.6-rc.1) (2020-01-06) ============================================================================================================= [Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.7.5...v1.7.6-rc.1) From a3fe5bbd8c865f227b62370d0722d7f3bc077478 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Wed, 8 Jan 2020 11:20:29 +0000 Subject: [PATCH 15/51] v1.7.6-rc.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f155738fbd..2237ae2d53 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "matrix-react-sdk", - "version": "1.7.6-rc.1", + "version": "1.7.6-rc.2", "description": "SDK for matrix.org using React", "author": "matrix.org", "repository": { From 27468a4abc4b7e436222c1ab181878a44d39a1cf Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Wed, 8 Jan 2020 11:38:40 +0000 Subject: [PATCH 16/51] Translated using Weblate (Bulgarian) Currently translated at 100.0% (1998 of 1998 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/bg/ --- src/i18n/strings/bg.json | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/bg.json b/src/i18n/strings/bg.json index e179c9d61b..8f08328be6 100644 --- a/src/i18n/strings/bg.json +++ b/src/i18n/strings/bg.json @@ -2015,5 +2015,20 @@ "Migrate from Key Backup": "Мигрирай от резервно копие на ключове", "Secure your encrypted messages with a passphrase": "Защитете шифрованите съобщения с парола", "Storing secrets...": "Складиране на тайни...", - "Unable to set up secret storage": "Неуспешна настройка на секретно складиране" + "Unable to set up secret storage": "Неуспешна настройка на секретно складиране", + "New DM invite dialog (under development)": "Нов процес за канене чрез директни съобщения (все още се разработва)", + "Show info about bridges in room settings": "Показвай информация за връзки с други мрежи в настройките на стаята", + "This bridge was provisioned by ": "Тази връзка с друга мрежа е била настроена от ", + "This bridge is managed by .": "Тази връзка с друга мрежа се управлява от .", + "Bridged into , on ": "Свързано с , посредством ", + "Connected to on ": "Свързано с посредством ", + "Connected via %(protocolName)s": "Свързано посредством %(protocolName)s", + "Bridge Info": "Информация за връзката с друга мрежа", + "Below is a list of bridges connected to this room.": "По-долу е списък на връзки с други мрежи свързани с тази стая.", + "Recent Conversations": "Скорошни разговори", + "Suggestions": "Предложения", + "Show more": "Покажи повече", + "Direct Messages": "Директни съобщения", + "If you can't find someone, ask them for their username, or share your username (%(userId)s) or profile link.": "Ако не можете да намерите някой, питайте за потребителското им име, или споделете своето (%(userId)s) или връзка към профила.", + "Go": "Давай" } From 9cd364b0e244fbaedabc19b0d5ec91c0aa77f54d Mon Sep 17 00:00:00 2001 From: Kenneth Larsson Date: Wed, 8 Jan 2020 15:32:25 +0000 Subject: [PATCH 17/51] Translated using Weblate (Swedish) Currently translated at 76.3% (1525 of 1998 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/sv/ --- src/i18n/strings/sv.json | 119 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 117 insertions(+), 2 deletions(-) diff --git a/src/i18n/strings/sv.json b/src/i18n/strings/sv.json index 1cd7b42a42..4910cd60f4 100644 --- a/src/i18n/strings/sv.json +++ b/src/i18n/strings/sv.json @@ -149,7 +149,7 @@ "Incorrect verification code": "Fel verifieringskod", "Invalid alias format": "Fel alias-format", "Invalid Email Address": "Ogiltig epostadress", - "Invalid file%(extra)s": "Fel fil%(extra)s", + "Invalid file%(extra)s": "Felaktig fil%(extra)s", "%(senderName)s invited %(targetName)s.": "%(senderName)s bjöd in %(targetName)s.", "Invite new room members": "Bjud in nya rumsmedlemmar", "Invited": "Inbjuden", @@ -1519,5 +1519,120 @@ "%(name)s (%(userId)s)": "%(name)s (%(userId)s)", "Try out new ways to ignore people (experimental)": "Testa nya sätt att ignorera personer (experimentalt)", "Use the new, faster, composer for writing messages": "Använd den nya, snabbare kompositören för att skriva meddelanden", - "Show previews/thumbnails for images": "Visa förhandsvisning/tumnagel för bilder" + "Show previews/thumbnails for images": "Visa förhandsvisning/tumnagel för bilder", + "Send cross-signing keys to homeserver": "Skicka korssigneringsnycklar till hemserver", + "Custom (%(level)s)": "Anpassad (%(level)s)", + "Error upgrading room": "Fel vid uppgradering av rum", + "Double check that your server supports the room version chosen and try again.": "Dubbelkolla att din server stöder den valda rumsversionen och försök igen.", + "%(senderName)s placed a voice call.": "%(senderName)s ringde ett röstsamtal.", + "%(senderName)s placed a voice call. (not supported by this browser)": "%(senderName)s ringde ett röstsamtal. (stöds inte av denna webbläsare)", + "%(senderName)s placed a video call.": "%(senderName)s ringde ett videosamtal.", + "%(senderName)s placed a video call. (not supported by this browser)": "%(senderName)s ringde ett videosamtal. (stöds inte av denna webbläsare)", + "%(senderName)s removed the rule banning users matching %(glob)s": "%(senderName)s tog bort regeln som bannar användare som matchar %(glob)s", + "%(senderName)s removed the rule banning rooms matching %(glob)s": "%(senderName)s tog bort regeln som bannar rum som matchar %(glob)s", + "%(senderName)s removed the rule banning servers matching %(glob)s": "%(senderName)s tog bort regeln som bannar servrar som matchar %(glob)s", + "Match system theme": "Matcha systemtema", + "Decline (%(counter)s)": "Avvisa (%(counter)s)", + "on device": "på enhet", + "not found": "hittades inte", + "Connecting to integration manager...": "Ansluter till integrationshanterare...", + "Cannot connect to integration manager": "Det går inte att ansluta till integrationshanterare", + "The integration manager is offline or it cannot reach your homeserver.": "Integrationshanteraren är offline eller kan inte nå din hemserver.", + "Use an Integration Manager (%(serverName)s) to manage bots, widgets, and sticker packs.": "Använd en Integrationshanterare (%(serverName)s) för att hantera bots, widgets och klistermärkespaket.", + "Use an Integration Manager to manage bots, widgets, and sticker packs.": "Använd en Integrationshanterare för att hantera bots, widgets och klistermärkespaket.", + "Manage integrations": "Hantera integrationer", + "Integration Managers receive configuration data, and can modify widgets, send room invites, and set power levels on your behalf.": "Integrationshanterare får konfigurationsdata och kan ändra widgetar, skicka ruminbjudningar och ställa in behörighetsnivåer via ditt konto.", + "Close preview": "Stäng förhandsvisning", + "Room %(name)s": "Rum %(name)s", + "Recent rooms": "Senaste rummen", + "Loading room preview": "Laddar förhandsvisning av rummet", + "Re-join": "Gå med igen", + "Try to join anyway": "Försök att gå med ändå", + "Join the discussion": "Gå med i diskussionen", + "Do you want to chat with %(user)s?": "Vill du chatta med %(user)s?", + " wants to chat": " vill chatta", + "Start chatting": "Börja chatta", + "Do you want to join %(roomName)s?": "Vill du gå med i %(roomName)s?", + " invited you": " bjöd in dig", + "You're previewing %(roomName)s. Want to join it?": "Du förhandsgranskar %(roomName)s. Vill du gå med i det?", + "%(roomName)s can't be previewed. Do you want to join it?": "%(roomName)s kan inte förhandsvisas. Vill du gå med i det?", + "This room doesn't exist. Are you sure you're at the right place?": "Detta rum finns inte. Är du säker på att du är på rätt plats?", + "Try again later, or ask a room admin to check if you have access.": "Försök igen senare, eller be en rumsadministratör om att kontrollera om du har åtkomst.", + "%(errcode)s was returned while trying to access the room. If you think you're seeing this message in error, please submit a bug report.": "%(errcode)s returnerades när du försökte komma åt rummet. Om du tror att du ser det här meddelandet felaktigt, vänligen skicka in en felrapport.", + "Failed to connect to integration manager": "Det gick inte att ansluta till integrationshanterare", + "React": "Reagera", + "Message Actions": "Meddelandeåtgärder", + "Show image": "Visa bild", + "You have ignored this user, so their message is hidden. Show anyways.": "Du har ignorerat denna användare, så deras meddelande är dolt. Visa ändå.", + "You verified %(name)s": "Du verifierade %(name)s", + "You cancelled verifying %(name)s": "Du avbröt verifiering av %(name)s", + "%(name)s cancelled verifying": "%(name)s avbröt verifiering", + "You accepted": "Du accepterade", + "%(name)s accepted": "%(name)s accepterade", + "You cancelled": "Du avbröt", + "%(name)s cancelled": "%(name)s avbröt", + "%(name)s wants to verify": "%(name)s vill verifiera", + "You sent a verification request": "Du skickade en verifieringsbegäran", + "Reactions": "Reaktioner", + " reacted with %(content)s": " reagerade med %(content)s", + "Frequently Used": "Ofta använd", + "Smileys & People": "Smileys & Människor", + "Animals & Nature": "Djur & Natur", + "Food & Drink": "Mat & Dryck", + "Activities": "Aktiviteter", + "Travel & Places": "Resor & Platser", + "Objects": "Objekt", + "Symbols": "Symboler", + "Flags": "Flaggor", + "Quick Reactions": "Snabbreaktioner", + "Cancel search": "Avbryt sökningen", + "Any of the following data may be shared:": "Någon av följande data kan delas:", + "Your display name": "Ditt visningsnamn", + "Your avatar URL": "Din avatar-URL", + "Your user ID": "Ditt användar-ID", + "Your theme": "Ditt tema", + "Riot URL": "Riot-URL", + "Room ID": "Rums-ID", + "Widget ID": "Widget-ID", + "Using this widget may share data with %(widgetDomain)s & your Integration Manager.": "Att använda denna widget kan dela data med %(widgetDomain)s och din Integrationshanterare.", + "Using this widget may share data with %(widgetDomain)s.": "Att använda denna widget kan dela data med %(widgetDomain)s.", + "Widgets do not use message encryption.": "Widgets använder inte meddelandekryptering.", + "Widget added by": "Widget tillagd av", + "This widget may use cookies.": "Denna widget kan använda cookies.", + "More options": "Fler alternativ", + "Please create a new issue on GitHub so that we can investigate this bug.": "Vänligen skapa ett nytt ärende på GitHub så att vi kan undersöka detta fel.", + "Rotate Left": "Rotera vänster", + "Rotate Right": "Rotera höger", + "Language Dropdown": "Språkmeny", + "%(severalUsers)smade no changes %(count)s times|other": "%(severalUsers)sgjorde inga ändringar %(count)s gånger", + "%(severalUsers)smade no changes %(count)s times|one": "%(severalUsers)sgjorde inga ändringar", + "%(oneUser)smade no changes %(count)s times|other": "%(oneUser)sgjorde inga ändringar %(count)s gånger", + "%(oneUser)smade no changes %(count)s times|one": "%(oneUser)sgjorde inga ändringar", + "Room alias": "Rumsalias", + "e.g. my-room": "t.ex. mitt rum", + "Some characters not allowed": "Vissa tecken är inte tillåtna", + "Please provide a room alias": "Vänligen ange ett rumsalias", + "This alias is available to use": "Detta alias är tillgängligt att använda", + "This alias is already in use": "Detta alias används redan", + "Use an identity server to invite by email. Use the default (%(defaultIdentityServerName)s) or manage in Settings.": "Använd en identitetsserver för att bjuda in via epost. Använd standard (%(defaultIdentityServerName)s) eller hantera i Inställningar.", + "Use an identity server to invite by email. Manage in Settings.": "Använd en identitetsserver för att bjuda in via epost. Hantera i Inställningar.", + "Close dialog": "Stäng dialogrutan", + "Please tell us what went wrong or, better, create a GitHub issue that describes the problem.": "Berätta vad som gick fel eller, bättre, skapa ett GitHub-ärende som beskriver problemet.", + "View Servers in Room": "Visa servrar i rum", + "Recent Conversations": "Senaste konversationerna", + "Suggestions": "Förslag", + "Show more": "Visa mer", + "Direct Messages": "Direktmeddelanden", + "If you can't find someone, ask them for their username, or share your username (%(userId)s) or profile link.": "Om det är någon du inte kan hitta, be dem om sitt användarnamn eller dela ditt användarnamn (%(userId)s) eller profillänk.", + "Go": "Gå", + "Verifying this user will mark their device as trusted, and also mark your device as trusted to them.": "Verifiering av den här användaren kommer att markera deras enhet som betrodd, men även markera din enhet som den är betrodd för dem.", + "Waiting for partner to confirm...": "Väntar på att kompanjon ska bekräfta...", + "Incoming Verification Request": "Inkommande verifieringsbegäran", + "Integrations are disabled": "Integrationer är inaktiverade", + "Enable 'Manage Integrations' in Settings to do this.": "Aktivera \"Hantera integrationer\" i Inställningar för att göra detta.", + "Integrations not allowed": "Integrationer inte tillåtna", + "Your Riot doesn't allow you to use an Integration Manager to do this. Please contact an admin.": "Ditt Riot tillåter dig inte att använda en Integrationshanterare för att göra detta. Vänligen kontakta en administratör.", + "Your homeserver doesn't seem to support this feature.": "Din hemserver verkar inte stödja den här funktionen.", + "Message edits": "Meddelandedigeringar", + "Preview": "Förhandsvisa" } From e0d80fb8b24d472869031592088b167e917a1c43 Mon Sep 17 00:00:00 2001 From: Kenneth Larsson Date: Thu, 9 Jan 2020 08:39:17 +0000 Subject: [PATCH 18/51] Translated using Weblate (Swedish) Currently translated at 76.8% (1535 of 1998 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/sv/ --- src/i18n/strings/sv.json | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/sv.json b/src/i18n/strings/sv.json index 4910cd60f4..90c03b84f3 100644 --- a/src/i18n/strings/sv.json +++ b/src/i18n/strings/sv.json @@ -1634,5 +1634,15 @@ "Your Riot doesn't allow you to use an Integration Manager to do this. Please contact an admin.": "Ditt Riot tillåter dig inte att använda en Integrationshanterare för att göra detta. Vänligen kontakta en administratör.", "Your homeserver doesn't seem to support this feature.": "Din hemserver verkar inte stödja den här funktionen.", "Message edits": "Meddelandedigeringar", - "Preview": "Förhandsvisa" + "Preview": "Förhandsvisa", + "The message you are trying to send is too large.": "Meddelandet du försöker skicka är för stort.", + "New DM invite dialog (under development)": "Ny inbjudningsdialog för direktmeddelanden (under utveckling)", + "Enable cross-signing to verify per-user instead of per-device (in development)": "Aktivera korssignering för att verifiera per användare istället för per enhet (under utveckling)", + "Find others by phone or email": "Hitta andra via telefon eller epost", + "Be found by phone or email": "Bli hittad via telefon eller e-post", + "Terms of Service": "Användarvillkor", + "To continue you need to accept the terms of this service.": "För att fortsätta måste du acceptera villkoren för denna tjänst.", + "Service": "Tjänst", + "Summary": "Sammanfattning", + "Document": "Dokument" } From 5d22561815a512e2c989208266dddc7b504b4e2f Mon Sep 17 00:00:00 2001 From: Zoe Date: Thu, 9 Jan 2020 15:17:33 +0000 Subject: [PATCH 19/51] Display a padlock icon beside encrypted rooms in the room list https://github.com/vector-im/riot-web/issues/11226 --- res/css/views/rooms/_RoomTile.scss | 28 ++++++++++++++++++++++++++ res/img/lock.svg | 4 ++++ src/components/views/rooms/RoomTile.js | 2 ++ 3 files changed, 34 insertions(+) create mode 100644 res/img/lock.svg diff --git a/res/css/views/rooms/_RoomTile.scss b/res/css/views/rooms/_RoomTile.scss index e5c7948216..ae38045712 100644 --- a/res/css/views/rooms/_RoomTile.scss +++ b/res/css/views/rooms/_RoomTile.scss @@ -200,3 +200,31 @@ limitations under the License. .mx_GroupInviteTile .mx_RoomTile_name { flex: 1; } + +.mx_RoomTile.mx_RoomTile.mx_RoomTile_isEncrypted .mx_RoomTile_name { + // Scoot the padding in a bit from 6px to make it look better + padding-left: 3px; +} + +.mx_RoomTile.mx_RoomTile_isEncrypted .mx_RoomTile_E2EIcon { + width: 12px; + height: 12px; + position: relative; + display: block !important; + // Align the padlock with unencrypted room names + margin-left: 6px; + + &::before { + background-color: $roomtile-name-color; + mask-image: url('$(res)/img/lock.svg'); + mask-position: center; + mask-repeat: no-repeat; + mask-size: contain; + content: ''; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + } +} diff --git a/res/img/lock.svg b/res/img/lock.svg new file mode 100644 index 0000000000..9eb8b6a4c5 --- /dev/null +++ b/res/img/lock.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/components/views/rooms/RoomTile.js b/src/components/views/rooms/RoomTile.js index 241713c97d..b9e1abd23d 100644 --- a/src/components/views/rooms/RoomTile.js +++ b/src/components/views/rooms/RoomTile.js @@ -303,6 +303,7 @@ module.exports = createReactClass({ 'mx_RoomTile_noBadges': !badges, 'mx_RoomTile_transparent': this.props.transparent, 'mx_RoomTile_hasSubtext': subtext && !this.props.collapsed, + 'mx_RoomTile_isEncrypted': MatrixClientPeg.get().isRoomEncrypted(this.props.room.roomId), }); const avatarClasses = classNames({ @@ -428,6 +429,7 @@ module.exports = createReactClass({ { dmIndicator } +
{ label } From e9032a9f61d4b161117c98b1c5995cee3b338072 Mon Sep 17 00:00:00 2001 From: Zoe Date: Thu, 9 Jan 2020 15:59:27 +0000 Subject: [PATCH 20/51] Move the lock icon within the feather-customised directory --- res/css/views/rooms/_RoomTile.scss | 2 +- res/img/{lock.svg => feather-customised/lock-solid.svg} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename res/img/{lock.svg => feather-customised/lock-solid.svg} (100%) diff --git a/res/css/views/rooms/_RoomTile.scss b/res/css/views/rooms/_RoomTile.scss index ae38045712..5c37492383 100644 --- a/res/css/views/rooms/_RoomTile.scss +++ b/res/css/views/rooms/_RoomTile.scss @@ -216,7 +216,7 @@ limitations under the License. &::before { background-color: $roomtile-name-color; - mask-image: url('$(res)/img/lock.svg'); + mask-image: url('$(res)/img/feather-customised/lock-solid.svg'); mask-position: center; mask-repeat: no-repeat; mask-size: contain; diff --git a/res/img/lock.svg b/res/img/feather-customised/lock-solid.svg similarity index 100% rename from res/img/lock.svg rename to res/img/feather-customised/lock-solid.svg From 8a2efd77ed925d10846d86922854624915b8414c Mon Sep 17 00:00:00 2001 From: Osoitz Date: Thu, 9 Jan 2020 20:18:03 +0000 Subject: [PATCH 21/51] Translated using Weblate (Basque) Currently translated at 100.0% (1998 of 1998 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/eu/ --- src/i18n/strings/eu.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/eu.json b/src/i18n/strings/eu.json index e0e667ecce..ac30ab6534 100644 --- a/src/i18n/strings/eu.json +++ b/src/i18n/strings/eu.json @@ -2032,5 +2032,6 @@ "Recent Conversations": "Azken elkarrizketak", "Direct Messages": "Mezu zuzenak", "If you can't find someone, ask them for their username, or share your username (%(userId)s) or profile link.": "Ez baduzu baten bat aurkitzen, eska egiezu bere erabiltzaile-izena, edo eman egiezu zurea (%(userId)s) edo profilera esteka.", - "Go": "Joan" + "Go": "Joan", + "Suggestions": "Proposamenak" } From 5b1246324efb25a22f23f094b6d149b13a31b842 Mon Sep 17 00:00:00 2001 From: catborise Date: Thu, 9 Jan 2020 19:58:09 +0000 Subject: [PATCH 22/51] Translated using Weblate (Turkish) Currently translated at 58.2% (1162 of 1998 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/tr/ --- src/i18n/strings/tr.json | 51 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/tr.json b/src/i18n/strings/tr.json index 495b882104..8e9c2c35bf 100644 --- a/src/i18n/strings/tr.json +++ b/src/i18n/strings/tr.json @@ -1125,5 +1125,54 @@ "Upgrade the room": "Odayı güncelle", "Enable room encryption": "Oda şifrelemeyi aç", "Modify widgets": "Görsel bileşenleri düzenle", - "Banned by %(displayName)s": "%(displayName)s tarafından yasaklandı" + "Banned by %(displayName)s": "%(displayName)s tarafından yasaklandı", + "Default role": "Varsayılan rol", + "Send messages": "Mesajları gönder", + "Invite users": "Kullanıcıları davet et", + "Change settings": "Ayarları değiştir", + "Kick users": "Kullanıcıları at", + "Ban users": "Kullanıcıları yasakla", + "Remove messages": "Mesajları sil", + "Notify everyone": "Herkesi bilgilendir", + "Muted Users": "Sessizdeki Kullanıcılar", + "Roles & Permissions": "Roller & İzinler", + "Enable encryption?": "Şifrelemeyi aç?", + "Members only (since they were invited)": "Sadece üyeler (davet edildiklerinden beri)", + "Members only (since they joined)": "Sadece üyeler (katıldıklarından beri)", + "Encryption": "Şifreleme", + "Once enabled, encryption cannot be disabled.": "Açıldıktan donra şifreleme kapatılamaz.", + "Encrypted": "Şifrelenmiş", + "Unable to share email address": "E-posta adresi paylaşılamıyor", + "Your email address hasn't been verified yet": "E-posta adresiniz henüz doğrulanmadı", + "Verify the link in your inbox": "Gelen kutunuzdaki linki doğrulayın", + "Share": "Paylaş", + "Unable to share phone number": "Telefon numarası paylaşılamıyor", + "Unable to verify phone number.": "Telefon numarası doğrulanamıyor.", + "Please enter verification code sent via text.": "Lütfen mesajla gönderilen doğrulama kodunu girin.", + "Verification code": "Doğrulama kodu", + "Remove %(email)s?": "%(email)s sil?", + "Email Address": "E-posta Adresi", + "Remove %(phone)s?": "%(phone)s sil?", + "Phone Number": "Telefon Numarası", + "Cannot add any more widgets": "Daha fazla görsel bileşen eklenemiyor", + "The maximum permitted number of widgets have already been added to this room.": "İzin verilen maksimum sayıda görsel bileşen bu odaya zaten eklenmiş.", + "Add a widget": "Bir görsel bileşen ekle", + "Some devices for this user are not trusted": "Bu kullanıcının bazı cihazları güvenilir değil", + "All devices for this user are trusted": "Bu kullanıcının tüm cihazları güvenilir", + "Some devices in this encrypted room are not trusted": "Bu şifrelenmiş odada bazı cihazlar şifrelenmemiş", + "All devices in this encrypted room are trusted": "Bu şifrelenmiş odadaki tüm cihazlar güvenilir", + "Edit message": "Mesajı düzenle", + "%(senderName)s sent an image": "%(senderName)s bir resim gönderdi", + "%(senderName)s sent a video": "%(senderName)s bir video gönderdi", + "%(senderName)s uploaded a file": "%(senderName)s bir dosya yükledi", + "Key request sent.": "Anahtar isteği gönderildi.", + "This message cannot be decrypted": "Bu mesajın şifresi çözülemedi", + "Unencrypted": "Şifrelenmemiş", + "Close preview": "Önizlemeyi kapat", + "Disinvite this user?": "Bu kullanıcı davetini geri çek?", + "Kick this user?": "Bu kullanıcıyı kov?", + "Unban this user?": "Bu kullanıcının yasağını kaldır?", + "Ban this user?": "Bu kullanıcıyı yasakla?", + "Remove %(count)s messages|other": "%(count)s mesajı sil", + "Remove %(count)s messages|one": "1 mesajı sil" } From 63942d5200d5cf2103a9ae3114d581bfd607dc47 Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 10 Jan 2020 11:12:52 +0000 Subject: [PATCH 23/51] Fix listener leak on RoomView It looks like this was causing entire detached DOM trees to leak in memory by react's internal fibers holding onto them from the component. --- src/components/structures/RoomView.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/structures/RoomView.js b/src/components/structures/RoomView.js index c552e2f8f5..a717f485f0 100644 --- a/src/components/structures/RoomView.js +++ b/src/components/structures/RoomView.js @@ -485,6 +485,7 @@ module.exports = createReactClass({ MatrixClientPeg.get().removeListener("Room.timeline", this.onRoomTimeline); MatrixClientPeg.get().removeListener("Room.name", this.onRoomName); MatrixClientPeg.get().removeListener("Room.accountData", this.onRoomAccountData); + MatrixClientPeg.get().removeListener("RoomState.events", this.onRoomStateEvents); MatrixClientPeg.get().removeListener("Room.myMembership", this.onMyMembership); MatrixClientPeg.get().removeListener("RoomState.members", this.onRoomStateMember); MatrixClientPeg.get().removeListener("accountData", this.onAccountData); From 8f292eb6a45b12019f253cf8f2c0e57dce33c1ea Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Fri, 10 Jan 2020 03:05:44 +0000 Subject: [PATCH 24/51] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (2000 of 2000 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/zh_Hant/ --- src/i18n/strings/zh_Hant.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/zh_Hant.json b/src/i18n/strings/zh_Hant.json index d58f37b37a..9401bb4a65 100644 --- a/src/i18n/strings/zh_Hant.json +++ b/src/i18n/strings/zh_Hant.json @@ -2034,5 +2034,7 @@ "Connected via %(protocolName)s": "透過 %(protocolName)s 連線", "Bridge Info": "橋接資訊", "Below is a list of bridges connected to this room.": "以下是連線到此聊天室的橋接列表。", - "Suggestions": "建議" + "Suggestions": "建議", + "Failed to find the following users": "找不到以下使用者", + "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "以下使用者可能不存在或無效,且無法被邀請:%(csvNames)s" } From a02ecca775201995b7ee90a4f2e76a0a6fe38725 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20C?= Date: Fri, 10 Jan 2020 06:44:11 +0000 Subject: [PATCH 25/51] Translated using Weblate (French) Currently translated at 100.0% (2000 of 2000 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/fr/ --- src/i18n/strings/fr.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/fr.json b/src/i18n/strings/fr.json index 7261f62f3a..d526c53430 100644 --- a/src/i18n/strings/fr.json +++ b/src/i18n/strings/fr.json @@ -2034,5 +2034,7 @@ "Connected via %(protocolName)s": "Connecté via %(protocolName)s", "Bridge Info": "Informations de la passerelle", "Below is a list of bridges connected to this room.": "Vous trouverez ci-dessous la liste des passerelles connectées à ce salon.", - "Suggestions": "Suggestions" + "Suggestions": "Suggestions", + "Failed to find the following users": "Impossible de trouver les utilisateurs suivants", + "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "Les utilisateurs suivant n’existent peut-être pas ou ne sont pas valides, et ne peuvent pas être invités : %(csvNames)s" } From abf4a88c662f73dab291f2d3db5294b93ebd4e2d Mon Sep 17 00:00:00 2001 From: Szimszon Date: Fri, 10 Jan 2020 08:43:51 +0000 Subject: [PATCH 26/51] Translated using Weblate (Hungarian) Currently translated at 100.0% (2000 of 2000 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/hu/ --- src/i18n/strings/hu.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json index 10da7537a9..68af34ae2d 100644 --- a/src/i18n/strings/hu.json +++ b/src/i18n/strings/hu.json @@ -2035,5 +2035,7 @@ "Connected via %(protocolName)s": "Ezzel a protokollal csatlakozva: %(protocolName)s", "Bridge Info": "Híd információ", "Below is a list of bridges connected to this room.": "Alább látható a lista a szobához kapcsolódó hidakról.", - "Suggestions": "Javaslatok" + "Suggestions": "Javaslatok", + "Failed to find the following users": "Az alábbi felhasználók nem találhatók", + "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "Az alábbi felhasználók nem léteznek vagy hibásan vannak megadva és nem lehet őket meghívni: %(csvNames)s" } From 7f116c1bede5d943adebb13b000f001cacd26ab7 Mon Sep 17 00:00:00 2001 From: MamasLT Date: Thu, 9 Jan 2020 22:03:28 +0000 Subject: [PATCH 27/51] Translated using Weblate (Lithuanian) Currently translated at 47.2% (944 of 2000 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/lt/ --- src/i18n/strings/lt.json | 50 ++++++++++++++++++++++++++++++++++------ 1 file changed, 43 insertions(+), 7 deletions(-) diff --git a/src/i18n/strings/lt.json b/src/i18n/strings/lt.json index e8e62922af..71b46d67f3 100644 --- a/src/i18n/strings/lt.json +++ b/src/i18n/strings/lt.json @@ -59,7 +59,7 @@ "You have successfully set a password!": "Jūs sėkmingai įrašėte slaptažodį!", "Favourite": "Svarbūs", "All Rooms": "Visi pokalbių kambariai", - "Explore Room State": "Peržiūrėti pokalbių kambario būseną", + "Explore Room State": "Peržiūrėti kambario būseną", "Source URL": "Šaltinio URL adresas", "Messages sent by bot": "Roboto siunčiamos žinutės", "Cancel": "Atšaukti", @@ -303,7 +303,7 @@ "Failed to mute user": "Nepavyko nutildyti naudotoją", "Are you sure?": "Ar tikrai?", "Devices": "Įrenginiai", - "Ignore": "Nepaisyti", + "Ignore": "Ignoruoti", "Invite": "Pakviesti", "User Options": "Naudotojo parametrai", "Admin Tools": "Administratoriaus įrankiai", @@ -332,7 +332,7 @@ "Settings": "Nustatymai", "Community Invites": "Bendruomenės pakvietimai", "People": "Žmonės", - "%(roomName)s does not exist.": "%(roomName)s nėra.", + "%(roomName)s does not exist.": "%(roomName)s neegzistuoja.", "%(roomName)s is not accessible at this time.": "%(roomName)s šiuo metu nėra pasiekiamas.", "Muted Users": "Nutildyti naudotojai", "Click here to fix": "Spustelėkite čia, norėdami pataisyti", @@ -568,7 +568,7 @@ "Confirm password": "Pakartokite slaptažodį", "Demote yourself?": "Pažeminti save?", "Demote": "Pažeminti", - "Share Link to User": "Bendrinti nuorodą su naudotoju", + "Share Link to User": "Dalintis nuoroda į naudotoją", "Direct chats": "Tiesioginiai pokalbiai", "The conversation continues here.": "Pokalbis tęsiasi čia.", "Jump to message": "Pereiti prie žinutės", @@ -644,7 +644,7 @@ "Enable widget screenshots on supported widgets": "Palaikomuose valdikliuose įjungti valdiklių ekrano kopijas", "Export E2E room keys": "Eksportuoti E2E kambario raktus", "Last seen": "Paskutinį kartą matytas", - "Unignore": "Nustoti nepaisyti", + "Unignore": "Nebeignoruoti", "and %(count)s others...|other": "ir %(count)s kitų...", "and %(count)s others...|one": "ir dar vienas...", "Mention": "Paminėti", @@ -807,7 +807,7 @@ "Whether or not you're logged in (we don't record your username)": "Nepriklausomai nuo to ar jūs prisijungę (mes neįrašome jūsų vartotojo vardo)", "Chat with Riot Bot": "Kalbėtis su Riot botu", "Sign In": "Prisijungti", - "Explore rooms": "Peržiūrėti kambarius", + "Explore rooms": "Žvalgyti kambarius", "Your Riot is misconfigured": "Jūsų Riot yra neteisingai sukonfigūruotas", "Sign in to your Matrix account on %(serverName)s": "Prisijunkite prie savo paskyros %(serverName)s serveryje", "Sign in to your Matrix account on ": "Prisijunkite prie savo paskyros serveryje", @@ -926,5 +926,41 @@ "Group & filter rooms by custom tags (refresh to apply changes)": "Grupuoti ir filtruoti kambarius pagal pasirinktines žymas (atnaujinkite, kad pritaikytumėte pakeitimus)", "Render simple counters in room header": "Užkrauti paprastus skaitiklius kambario antraštėje", "Multiple integration managers": "Daugialypiai integracijų valdikliai", - "%(name)s (%(userId)s)": "%(name)s (%(userId)s)" + "%(name)s (%(userId)s)": "%(name)s (%(userId)s)", + "Show info about bridges in room settings": "Rodyti informaciją apie tiltus kambario nustatymuose", + "General": "Bendrieji", + "Remove recent messages by %(user)s": "Pašalinti paskutines %(user)s žinutes", + "Jump to read receipt": "Nušokti iki perskaitytų žinučių", + "Remove recent messages": "Pašalinti paskutines žinutes", + "You can still join it because this is a public room.": "Jūs vis tiek galite prie jo prisijungti, nes tai yra viešas kambarys.", + "Do you want to chat with %(user)s?": "Ar jūs norite kalbėtis su %(user)s?", + " wants to chat": " nori kalbėtis", + "Start chatting": "Pradėti kalbėtis", + "Do you want to join %(roomName)s?": "Ar jūs norite prisijungti prie %(roomName)s?", + " invited you": " jus pakvietė", + "You're previewing %(roomName)s. Want to join it?": "Jūs peržiūrite %(roomName)s. Norite prie jo prisijungti?", + "%(roomName)s can't be previewed. Do you want to join it?": "%(roomName)s negali būti peržiūrėtas. Ar jūs norite prie jo prisijungti?", + "This room doesn't exist. Are you sure you're at the right place?": "Šis kambarys neegzistuoja. Ar jūs tikras, kad esate tinkamoje vietoje?", + "Create a public room": "Sukurti viešą kambarį", + "Make this room public": "Padaryti šį kambarį viešu", + "Room Settings - %(roomName)s": "Kambario nustatymai - %(roomName)s", + "Upgrade public room": "Atnaujinti viešą kambarį", + "Upload files (%(current)s of %(total)s)": "Įkelti failus (%(current)s iš %(total)s)", + "Upload files": "Įkelti failus", + "Upload all": "Įkelti visus", + "This file is too large to upload. The file size limit is %(limit)s but this file is %(sizeOfThisFile)s.": "Šis failas yra per didelis įkėlimui. Failų dydžio limitas yra %(limit)s, bet šis failas užima %(sizeOfThisFile)s.", + "These files are too large to upload. The file size limit is %(limit)s.": "Šie failai yra per dideli įkėlimui. Failų dydžio limitas yra %(limit)s.", + "Some files are too large to be uploaded. The file size limit is %(limit)s.": "Kai kurie failai yra per dideli įkėlimui. Failų dydžio limitas yra %(limit)s.", + "Upload %(count)s other files|other": "Įkelti %(count)s kitus failus", + "Upload %(count)s other files|one": "Įkelti %(count)s kitą failą", + "Cancel All": "Atšaukti visus", + "Upload Error": "Įkėlimo klaida", + "Explore": "Žvalgyti", + "Filter": "Filtruoti", + "Filter rooms…": "Filtruoti kambarius…", + "This room is not public. You will not be able to rejoin without an invite.": "Šis kambarys nėra viešas. Jūs negalėsite prie jo vėl prisijungti be pakvietimo.", + "Are you sure you want to leave the room '%(roomName)s'?": "Ar tikrai norite palikti kambarį %(roomName)s?", + "%(creator)s created and configured the room.": "%(creator)s sukūrė ir sukonfigūravo kambarį.", + "Riot failed to get the public room list.": "Riot nepavyko gauti viešų kambarių sąrašą.", + "General failure": "Bendras triktis" } From cb250c9b1024f12e260b1156f2e14efa584b5efc Mon Sep 17 00:00:00 2001 From: Zoe Date: Fri, 10 Jan 2020 13:09:16 +0000 Subject: [PATCH 28/51] Use existing available props data to determine whether a room is encrypted, thereby allowing a state update to properly rerender the tile --- src/components/views/rooms/RoomTile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/views/rooms/RoomTile.js b/src/components/views/rooms/RoomTile.js index b9e1abd23d..ce0375e088 100644 --- a/src/components/views/rooms/RoomTile.js +++ b/src/components/views/rooms/RoomTile.js @@ -303,7 +303,7 @@ module.exports = createReactClass({ 'mx_RoomTile_noBadges': !badges, 'mx_RoomTile_transparent': this.props.transparent, 'mx_RoomTile_hasSubtext': subtext && !this.props.collapsed, - 'mx_RoomTile_isEncrypted': MatrixClientPeg.get().isRoomEncrypted(this.props.room.roomId), + 'mx_RoomTile_isEncrypted': Boolean(this.props.room.currentState.getStateEvents("m.room.encryption", "")), }); const avatarClasses = classNames({ From 5551b207c1b50abb52a31692d726c456a429a9e3 Mon Sep 17 00:00:00 2001 From: Zoe Date: Fri, 10 Jan 2020 16:33:08 +0000 Subject: [PATCH 29/51] Actually, this task was about join rules, not encryption ones. Oops. --- res/css/views/rooms/_RoomTile.scss | 4 ++-- src/components/views/rooms/RoomTile.js | 17 +++++++++++++++-- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/res/css/views/rooms/_RoomTile.scss b/res/css/views/rooms/_RoomTile.scss index 5c37492383..cb1137bb2f 100644 --- a/res/css/views/rooms/_RoomTile.scss +++ b/res/css/views/rooms/_RoomTile.scss @@ -201,12 +201,12 @@ limitations under the License. flex: 1; } -.mx_RoomTile.mx_RoomTile.mx_RoomTile_isEncrypted .mx_RoomTile_name { +.mx_RoomTile.mx_RoomTile.mx_RoomTile_isPrivate .mx_RoomTile_name { // Scoot the padding in a bit from 6px to make it look better padding-left: 3px; } -.mx_RoomTile.mx_RoomTile_isEncrypted .mx_RoomTile_E2EIcon { +.mx_RoomTile.mx_RoomTile_isPrivate .mx_RoomTile_PrivateIcon { width: 12px; height: 12px; position: relative; diff --git a/src/components/views/rooms/RoomTile.js b/src/components/views/rooms/RoomTile.js index ce0375e088..35b5d2fea5 100644 --- a/src/components/views/rooms/RoomTile.js +++ b/src/components/views/rooms/RoomTile.js @@ -56,7 +56,10 @@ module.exports = createReactClass({ }, getInitialState: function() { + const { event: { content: { join_rule } } } = this.props.room.currentState.getStateEvents("m.room.join_rules", ""); + return ({ + join_rule, hover: false, badgeHover: false, contextMenuPosition: null, // DOM bounding box, null if non-shown @@ -104,6 +107,14 @@ module.exports = createReactClass({ }); }, + onJoinRule: function(ev) { + const { event: { type, room_id } } = ev; + if (type !== "m.room.join_rules") return; + if (room_id !== this.props.room.roomId) return; + const { event: { content: { join_rule } } } = ev; + this.setState({ join_rule }); + }, + onAccountData: function(accountDataEvent) { if (accountDataEvent.getType() === 'm.push_rules') { this.setState({ @@ -143,6 +154,7 @@ module.exports = createReactClass({ const cli = MatrixClientPeg.get(); cli.on("accountData", this.onAccountData); cli.on("Room.name", this.onRoomName); + cli.on("RoomState.events", this.onJoinRule); ActiveRoomObserver.addListener(this.props.room.roomId, this._onActiveRoomChange); this.dispatcherRef = dis.register(this.onAction); @@ -159,6 +171,7 @@ module.exports = createReactClass({ if (cli) { MatrixClientPeg.get().removeListener("accountData", this.onAccountData); MatrixClientPeg.get().removeListener("Room.name", this.onRoomName); + cli.removeListener("RoomState.events", this.onJoinRule); } ActiveRoomObserver.removeListener(this.props.room.roomId, this._onActiveRoomChange); dis.unregister(this.dispatcherRef); @@ -303,7 +316,7 @@ module.exports = createReactClass({ 'mx_RoomTile_noBadges': !badges, 'mx_RoomTile_transparent': this.props.transparent, 'mx_RoomTile_hasSubtext': subtext && !this.props.collapsed, - 'mx_RoomTile_isEncrypted': Boolean(this.props.room.currentState.getStateEvents("m.room.encryption", "")), + 'mx_RoomTile_isPrivate': this.state.join_rule == "invite", }); const avatarClasses = classNames({ @@ -429,7 +442,7 @@ module.exports = createReactClass({ { dmIndicator }
-
+
{ label } From 808785c2f89dec842e727601ebc5dd5624eb21c1 Mon Sep 17 00:00:00 2001 From: Zoe Date: Fri, 10 Jan 2020 16:43:36 +0000 Subject: [PATCH 30/51] lint --- src/components/views/rooms/RoomTile.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/components/views/rooms/RoomTile.js b/src/components/views/rooms/RoomTile.js index 35b5d2fea5..09918ace3d 100644 --- a/src/components/views/rooms/RoomTile.js +++ b/src/components/views/rooms/RoomTile.js @@ -56,7 +56,9 @@ module.exports = createReactClass({ }, getInitialState: function() { - const { event: { content: { join_rule } } } = this.props.room.currentState.getStateEvents("m.room.join_rules", ""); + // eslint-disable-next-line camelcase + const { event: { content: { join_rule } } } = + this.props.room.currentState.getStateEvents("m.room.join_rules", ""); return ({ join_rule, @@ -108,11 +110,13 @@ module.exports = createReactClass({ }, onJoinRule: function(ev) { + /* eslint-disable camelcase */ const { event: { type, room_id } } = ev; if (type !== "m.room.join_rules") return; if (room_id !== this.props.room.roomId) return; const { event: { content: { join_rule } } } = ev; this.setState({ join_rule }); + /* eslint-enable camelcase */ }, onAccountData: function(accountDataEvent) { From df1fd4db72583c891a6850e1c19a0c87119d8ad2 Mon Sep 17 00:00:00 2001 From: Zoe Date: Fri, 10 Jan 2020 16:49:07 +0000 Subject: [PATCH 31/51] suppress private icon if the room is a DM --- src/components/views/rooms/RoomTile.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/views/rooms/RoomTile.js b/src/components/views/rooms/RoomTile.js index 09918ace3d..16fff4fc97 100644 --- a/src/components/views/rooms/RoomTile.js +++ b/src/components/views/rooms/RoomTile.js @@ -309,6 +309,8 @@ module.exports = createReactClass({ const isMenuDisplayed = Boolean(this.state.contextMenuPosition); + const dmUserId = DMRoomMap.shared().getUserIdForRoomId(this.props.room.roomId); + const classes = classNames({ 'mx_RoomTile': true, 'mx_RoomTile_selected': this.state.selected, @@ -320,7 +322,7 @@ module.exports = createReactClass({ 'mx_RoomTile_noBadges': !badges, 'mx_RoomTile_transparent': this.props.transparent, 'mx_RoomTile_hasSubtext': subtext && !this.props.collapsed, - 'mx_RoomTile_isPrivate': this.state.join_rule == "invite", + 'mx_RoomTile_isPrivate': this.state.join_rule == "invite" && !dmUserId, }); const avatarClasses = classNames({ @@ -384,8 +386,6 @@ module.exports = createReactClass({ let ariaLabel = name; - const dmUserId = DMRoomMap.shared().getUserIdForRoomId(this.props.room.roomId); - let dmIndicator; let dmOnline; if (dmUserId) { From bebfd60daf14e84350e60f2a41dbd4bd99a06fc1 Mon Sep 17 00:00:00 2001 From: Zoe Date: Fri, 10 Jan 2020 17:22:09 +0000 Subject: [PATCH 32/51] Very fastidiously check for null/undefined --- src/components/views/rooms/RoomTile.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/components/views/rooms/RoomTile.js b/src/components/views/rooms/RoomTile.js index 16fff4fc97..b904f9d437 100644 --- a/src/components/views/rooms/RoomTile.js +++ b/src/components/views/rooms/RoomTile.js @@ -57,11 +57,11 @@ module.exports = createReactClass({ getInitialState: function() { // eslint-disable-next-line camelcase - const { event: { content: { join_rule } } } = - this.props.room.currentState.getStateEvents("m.room.join_rules", ""); + const joinRules = this.props.room.currentState.getStateEvents("m.room.join_rules", ""); + const joinRule = joinRules && joinRules.event && joinRules.event.content && joinRules.event.content.join_rule; return ({ - join_rule, + joinRule, hover: false, badgeHover: false, contextMenuPosition: null, // DOM bounding box, null if non-shown @@ -110,12 +110,14 @@ module.exports = createReactClass({ }, onJoinRule: function(ev) { + if (!ev || !ev.event ) return; /* eslint-disable camelcase */ const { event: { type, room_id } } = ev; if (type !== "m.room.join_rules") return; if (room_id !== this.props.room.roomId) return; + if ( !event.content ) return; const { event: { content: { join_rule } } } = ev; - this.setState({ join_rule }); + this.setState({ joinRule: join_rule }); /* eslint-enable camelcase */ }, @@ -322,7 +324,7 @@ module.exports = createReactClass({ 'mx_RoomTile_noBadges': !badges, 'mx_RoomTile_transparent': this.props.transparent, 'mx_RoomTile_hasSubtext': subtext && !this.props.collapsed, - 'mx_RoomTile_isPrivate': this.state.join_rule == "invite" && !dmUserId, + 'mx_RoomTile_isPrivate': this.state.joinRule == "invite" && !dmUserId, }); const avatarClasses = classNames({ From fb587cc62c60851597723db440abe1af78ab091f Mon Sep 17 00:00:00 2001 From: "Z. E. Cat" Date: Fri, 10 Jan 2020 17:33:37 +0000 Subject: [PATCH 33/51] Update src/components/views/rooms/RoomTile.js Co-Authored-By: Michael Telatynski <7t3chguy@gmail.com> --- src/components/views/rooms/RoomTile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/views/rooms/RoomTile.js b/src/components/views/rooms/RoomTile.js index b904f9d437..f7c58f5c5a 100644 --- a/src/components/views/rooms/RoomTile.js +++ b/src/components/views/rooms/RoomTile.js @@ -58,7 +58,7 @@ module.exports = createReactClass({ getInitialState: function() { // eslint-disable-next-line camelcase const joinRules = this.props.room.currentState.getStateEvents("m.room.join_rules", ""); - const joinRule = joinRules && joinRules.event && joinRules.event.content && joinRules.event.content.join_rule; + const joinRule = joinRules && joinRules.getContent() && joinRules.getContent().join_rule; return ({ joinRule, From fbabe79647c8d8e54922155ce976936987ad6616 Mon Sep 17 00:00:00 2001 From: Zoe Date: Fri, 10 Jan 2020 17:35:57 +0000 Subject: [PATCH 34/51] use getContent() instead --- src/components/views/rooms/RoomTile.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/components/views/rooms/RoomTile.js b/src/components/views/rooms/RoomTile.js index f7c58f5c5a..f17ec98d9a 100644 --- a/src/components/views/rooms/RoomTile.js +++ b/src/components/views/rooms/RoomTile.js @@ -115,10 +115,9 @@ module.exports = createReactClass({ const { event: { type, room_id } } = ev; if (type !== "m.room.join_rules") return; if (room_id !== this.props.room.roomId) return; - if ( !event.content ) return; - const { event: { content: { join_rule } } } = ev; - this.setState({ joinRule: join_rule }); /* eslint-enable camelcase */ + const joinRule = event.getContent().join_rule; + this.setState({ joinRule }); }, onAccountData: function(accountDataEvent) { From 1b75909cadc9f4af3ab7da30bc546e25c5b64614 Mon Sep 17 00:00:00 2001 From: "Z. E. Cat" Date: Fri, 10 Jan 2020 17:36:33 +0000 Subject: [PATCH 35/51] Update src/components/views/rooms/RoomTile.js Co-Authored-By: Michael Telatynski <7t3chguy@gmail.com> --- src/components/views/rooms/RoomTile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/views/rooms/RoomTile.js b/src/components/views/rooms/RoomTile.js index f17ec98d9a..cc77bf5b3d 100644 --- a/src/components/views/rooms/RoomTile.js +++ b/src/components/views/rooms/RoomTile.js @@ -58,7 +58,7 @@ module.exports = createReactClass({ getInitialState: function() { // eslint-disable-next-line camelcase const joinRules = this.props.room.currentState.getStateEvents("m.room.join_rules", ""); - const joinRule = joinRules && joinRules.getContent() && joinRules.getContent().join_rule; + const joinRule = joinRules && joinRules.getContent().join_rule; return ({ joinRule, From 54c69b4630afd0d1819fbcd6e617c2e08b901832 Mon Sep 17 00:00:00 2001 From: Zoe Date: Fri, 10 Jan 2020 17:46:14 +0000 Subject: [PATCH 36/51] this is what we call fast iteration --- src/components/views/rooms/RoomTile.js | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/components/views/rooms/RoomTile.js b/src/components/views/rooms/RoomTile.js index cc77bf5b3d..232e11cfd8 100644 --- a/src/components/views/rooms/RoomTile.js +++ b/src/components/views/rooms/RoomTile.js @@ -110,13 +110,9 @@ module.exports = createReactClass({ }, onJoinRule: function(ev) { - if (!ev || !ev.event ) return; - /* eslint-disable camelcase */ - const { event: { type, room_id } } = ev; - if (type !== "m.room.join_rules") return; - if (room_id !== this.props.room.roomId) return; - /* eslint-enable camelcase */ - const joinRule = event.getContent().join_rule; + if (ev.getType() !== "m.room.join_rules") return; + if (ev.getRoomId() !== this.props.room.roomId) return; + const joinRule = (ev.getContent() || {}).join_rule; this.setState({ joinRule }); }, From 6266f21a08322b4f6e2c4286fb626ba3ac5ec4d1 Mon Sep 17 00:00:00 2001 From: Osoitz Date: Sun, 12 Jan 2020 09:05:58 +0000 Subject: [PATCH 37/51] Translated using Weblate (Basque) Currently translated at 100.0% (2000 of 2000 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://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 ac30ab6534..11904a95f0 100644 --- a/src/i18n/strings/eu.json +++ b/src/i18n/strings/eu.json @@ -2033,5 +2033,7 @@ "Direct Messages": "Mezu zuzenak", "If you can't find someone, ask them for their username, or share your username (%(userId)s) or profile link.": "Ez baduzu baten bat aurkitzen, eska egiezu bere erabiltzaile-izena, edo eman egiezu zurea (%(userId)s) edo profilera esteka.", "Go": "Joan", - "Suggestions": "Proposamenak" + "Suggestions": "Proposamenak", + "Failed to find the following users": "Ezin izan dira honako erabiltzaile hauek aurkitu", + "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "Honako erabiltzaile hauek agian ez dira existitzen edo baliogabeak dira, eta ezin dira gonbidatu: %(csvNames)s" } From e1cb7b4f0871f25b82ee95281b1e293c2ad4463e Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Fri, 10 Jan 2020 12:15:00 +0000 Subject: [PATCH 38/51] Translated using Weblate (Bulgarian) Currently translated at 100.0% (2000 of 2000 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/bg/ --- src/i18n/strings/bg.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/bg.json b/src/i18n/strings/bg.json index 8f08328be6..108eb8ffb7 100644 --- a/src/i18n/strings/bg.json +++ b/src/i18n/strings/bg.json @@ -2030,5 +2030,7 @@ "Show more": "Покажи повече", "Direct Messages": "Директни съобщения", "If you can't find someone, ask them for their username, or share your username (%(userId)s) or profile link.": "Ако не можете да намерите някой, питайте за потребителското им име, или споделете своето (%(userId)s) или връзка към профила.", - "Go": "Давай" + "Go": "Давай", + "Failed to find the following users": "Неуспешно откриване на следните потребители", + "The following users might not exist or are invalid, and cannot be invited: %(csvNames)s": "Следните потребители не съществуват или са невалидни и не могат да бъдат поканени: %(csvNames)s" } From 0065895b9c51d20bf0fc1c11a8393a792ed8674e Mon Sep 17 00:00:00 2001 From: Alexey Murz Korepov Date: Sun, 12 Jan 2020 04:50:36 +0000 Subject: [PATCH 39/51] Translated using Weblate (Russian) Currently translated at 90.0% (1799 of 2000 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/ru/ --- src/i18n/strings/ru.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json index fc8b37140e..aeab97caf3 100644 --- a/src/i18n/strings/ru.json +++ b/src/i18n/strings/ru.json @@ -1267,7 +1267,7 @@ "Unable to load key backup status": "Не удалось получить статус резервного копирования для ключей шифрования", "Restore from Backup": "Восстановить из резервной копии", "This device is backing up your keys. ": "Это устройство хранит резервную копию ключей шифрования. ", - "Back up your keys before signing out to avoid losing them.": "Перед выходом сохраните резервную копию ключей шифрования чтобы не потерять их.", + "Back up your keys before signing out to avoid losing them.": "Перед выходом сохраните резервную копию ключей шифрования, чтобы не потерять их.", "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 ": "Резервная копия заверена действительной подписью от подтверждённого устройства ", @@ -1389,7 +1389,7 @@ "Do you want to join %(roomName)s?": "Хотите присоединиться к %(roomName)s?", " invited you": " пригласил тебя", "You're previewing %(roomName)s. Want to join it?": "Вы просматриваете %(roomName)s. Хотите присоединиться?", - "%(roomName)s can't be previewed. Do you want to join it?": "%(roomName)s не могут быть предварительно просмотрены. Вы хотите присоединиться к ней?", + "%(roomName)s can't be previewed. Do you want to join it?": "%(roomName)s не может быть предварительно просмотрена. Вы хотите присоединиться к ней?", "This room doesn't exist. Are you sure you're at the right place?": "Эта комната не существует. Вы уверены, что находитесь в правильном месте?", "Try again later, or ask a room admin to check if you have access.": "Повторите попытку позже или попросите администратора комнаты проверить, есть ли у вас доступ.", "%(errcode)s was returned while trying to access the room. If you think you're seeing this message in error, please submit a bug report.": "%(errcode)s был возвращен при попытке доступа в комнату. Если вы считаете, что видите это сообщение по ошибке, пожалуйста, отправьте отчет об ошибке .", @@ -1440,7 +1440,7 @@ "You've previously used Riot on %(host)s with lazy loading of members enabled. In this version lazy loading is disabled. As the local cache is not compatible between these two settings, Riot needs to resync your account.": "Ранее вы использовали Riot на %(host)s с отложенной загрузкой участников. В этой версии отложенная загрузка отключена. Поскольку локальный кеш не совместим между этими двумя настройками, Riot необходимо повторно синхронизировать вашу учётную запись.", "If the other version of Riot is still open in another tab, please close it as using Riot on the same host with both lazy loading enabled and disabled simultaneously will cause issues.": "Если другая версия Riot все еще открыта на другой вкладке, закройте ее, так как использование Riot на том же хосте с включенной и отключенной ленивой загрузкой одновременно вызовет проблемы.", "Riot now uses 3-5x less memory, by only loading information about other users when needed. Please wait whilst we resynchronise with the server!": "Riot теперь использует в 3-5 раз меньше памяти, загружая информацию только о других пользователях, когда это необходимо. Пожалуйста, подождите, пока мы ресинхронизируемся с сервером!", - "I don't want my encrypted messages": "Я не хочу, мои зашифрованные сообщения", + "I don't want my encrypted messages": "Мне не нужны мои зашифрованные сообщения", "Manually export keys": "Ручной экспорт ключей", "If you run into any bugs or have feedback you'd like to share, please let us know on GitHub.": "Если вы столкнулись с какими-либо ошибками или хотите оставить отзыв, которым хотите поделиться, сообщите нам об этом на GitHub.", "To help avoid duplicate issues, please view existing issues first (and add a +1) or create a new issue if you can't find it.": "Чтобы избежать повторяющихся проблем, сначала просмотрите существующие проблемы (и добавьте +1), либо создайте новую проблему , если вы не можете ее найти.", @@ -1550,7 +1550,7 @@ "Unable to query for supported registration methods.": "Невозможно запросить поддерживаемые методы регистрации.", "Great! This passphrase looks strong enough.": "Отлично! Этот пароль выглядит достаточно сильной.", "We'll store an encrypted copy of your keys on our server. Protect your backup with a passphrase to keep it secure.": "Мы будем хранить зашифрованную копию ваших ключей на нашем сервере. Защитите свою резервную копию паролем, чтобы сохранить ее в безопасности.", - "For maximum security, this should be different from your account password.": "Для максимальной безопасности это должно отличаться от пароля вашей учётной записи.", + "For maximum security, this should be different from your account password.": "Для максимальной безопасности он должен отличаться от пароля вашей учётной записи.", "Enter a passphrase...": "Введите пароль....", "Set up with a Recovery Key": "Настройка с ключом восстановления", "That matches!": "Это совпадает!", From b3d3f3b09f2b579c22abc4062c4f6182eff1f558 Mon Sep 17 00:00:00 2001 From: catborise Date: Fri, 10 Jan 2020 16:56:10 +0000 Subject: [PATCH 40/51] Translated using Weblate (Turkish) Currently translated at 64.2% (1285 of 2000 strings) Translation: Riot Web/matrix-react-sdk Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/tr/ --- src/i18n/strings/tr.json | 125 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 124 insertions(+), 1 deletion(-) diff --git a/src/i18n/strings/tr.json b/src/i18n/strings/tr.json index 8e9c2c35bf..659c973d35 100644 --- a/src/i18n/strings/tr.json +++ b/src/i18n/strings/tr.json @@ -1174,5 +1174,128 @@ "Unban this user?": "Bu kullanıcının yasağını kaldır?", "Ban this user?": "Bu kullanıcıyı yasakla?", "Remove %(count)s messages|other": "%(count)s mesajı sil", - "Remove %(count)s messages|one": "1 mesajı sil" + "Remove %(count)s messages|one": "1 mesajı sil", + "There are unknown devices in this room: if you proceed without verifying them, it will be possible for someone to eavesdrop on your call.": "Bu odada bilinmeyen cihazlar var: bunları doğrulamadan devam ederseniz birilerinin çağrılarınıza göz atma ihtimali var.", + "A conference call could not be started because the integrations server is not available": "Entegrasyon sunucusu mevcut olmadığından konferans çağrısı başlatılamadı", + "Send cross-signing keys to homeserver": "Çapraz-imzalama anahtarlarını anasunucuya gönder", + "Warning: any person you add to a community will be publicly visible to anyone who knows the community ID": "Uyarı: Topluluğa eklediğiniz her bir kişi topluluk IDsini bilen herhangi biri tarafından açıkça görünür olacaktır", + "Room name or alias": "Oda adı ve lakabı", + "Failed to invite users to %(groupId)s": "%(groupId)s grubuna kullanıcı daveti başarısız", + "Failed to add the following rooms to %(groupId)s:": "%(groupId)s odalarına ekleme başarısız:", + "Prepends ¯\\_(ツ)_/¯ to a plain-text message": "Düz-metin mesajına ¯\\_(ツ)_/¯ ifadesi ekler", + "Rooster": "Horoz", + "Cross-signing public keys:": "Çarpraz-imzalama açık anahtarları:", + "Cross-signing private keys:": "Çarpraz-imzalama gizli anahtarları:", + "Backup has a valid signature from this user": "Yedek bu kullanıcıdan geçerli anahtara sahip", + "Backup has a invalid signature from this user": "Yedek bu kullanıcıdan geçersiz bir anahtara sahip", + "Add an email address to configure email notifications": "E-posta bildirimlerini yapılandırmak için bir e-posta adresi ekleyin", + "Identity Server URL must be HTTPS": "Kimlik Sunucu URL adresi HTTPS olmak zorunda", + "Not a valid Identity Server (status code %(code)s)": "Geçerli bir Kimlik Sunucu değil ( durum kodu %(code)s )", + "Terms of service not accepted or the identity server is invalid.": "Hizmet şartları kabuk edilmedi yada kimlik sunucu geçersiz.", + "The identity server you have chosen does not have any terms of service.": "Seçtiğiniz kimlik sunucu herhangi bir hizmet şartları sözleşmesine sahip değil.", + "Disconnect identity server": "Kimlik sunucu bağlantısını kes", + "Disconnect from the identity server ?": " kimlik sunucusundan bağlantıyı kes?", + "Disconnect": "Bağlantıyı kes", + "contact the administrators of identity server ": " kimlik sunucusu yöneticisiyle bağlantıya geç", + "Deactivate user?": "Kullanıcıyı pasifleştir?", + "Deactivate user": "Kullanıcıyı pasifleştir", + "Failed to deactivate user": "Kullanıcı pasifleştirme başarısız", + "Invite": "Davet", + "Share Link to User": "Kullanıcıya Link Paylaş", + "User Options": "Kullanıcı Ayarları", + "Send an encrypted reply…": "Şifrelenmiş bir cevap gönder…", + "Send a reply (unencrypted)…": "Bir cevap gönder (şifresiz)…", + "Send an encrypted message…": "Şifreli bir mesaj gönder…", + "Send a message (unencrypted)…": "Bir mesaj gönder (şifresiz)…", + "Bold": "Kalın", + "Italics": "Eğik", + "Code block": "Kod bloku", + "No pinned messages.": "Sabitlenmiş mesaj yok.", + "Loading...": "Yükleniyor...", + "Pinned Messages": "Sabitlenmiş Mesajlar", + "Jump to message": "Mesaja git", + "%(duration)ss": "%(duration)ssn", + "%(duration)sm": "%(duration)sdk", + "%(duration)sh": "%(duration)ssa", + "%(duration)sd": "%(duration)sgün", + "Online for %(duration)s": "%(duration)s süresince çevrimiçi", + "Offline for %(duration)s": "%(duration)s süresince çevrimdışı", + "Unknown for %(duration)s": "%(duration)s süresince bilinmiyor", + "Unknown": "Bilinmeyen", + "Replying": "Cevap yazıyor", + "Room %(name)s": "Oda %(name)s", + "Share room": "Oda paylaş", + "Community Invites": "Topluluk Davetleri", + "System Alerts": "Sistem Uyarıları", + "Joining room …": "Odaya giriliyor …", + "Loading …": "Yükleniyor …", + "Rejecting invite …": "Davet reddediliyor …", + "Join the conversation with an account": "Konuşmaya bir hesapla katıl", + "Sign Up": "Kayıt Ol", + "Sign In": "Giriş Yap", + "Loading room preview": "Oda önizlemesi yükleniyor", + "Reason: %(reason)s": "Sebep: %(reason)s", + "Forget this room": "Bu odayı unut", + "Re-join": "Yeniden katıl", + "Join the discussion": "Tartışmaya katıl", + "Do you want to chat with %(user)s?": "%(user)s ile sohbet etmek ister misin?", + " wants to chat": " sohbet etmek istiyor", + "Start chatting": "Sohbet başlat", + "Do you want to join %(roomName)s?": "%(roomName)s odasına katılmak ister misin?", + " invited you": " davet etti", + "%(roomName)s can't be previewed. Do you want to join it?": "%(roomName)s odasında önizleme yapılamaz. Katılmak ister misin?", + "This room doesn't exist. Are you sure you're at the right place?": "Bu oda mevcut değil. Doğru yerde olduğunuza emin misiniz?", + "Try again later, or ask a room admin to check if you have access.": "Daha sonra deneyin, yada bir oda adminine erişiminiz olup olmadığını sorun.", + "Never lose encrypted messages": "Şifrelenmiş mesajları asla kaybetmeyin", + "Not now": "Şimdi değil", + "Don't ask me again": "Yeniden sorma", + "%(count)s unread messages.|other": "%(count)s okunmamış mesaj.", + "%(count)s unread messages.|one": "1 okunmamış mesaj.", + "Unread messages.": "Okunmamış mesajlar.", + "This room has already been upgraded.": "Bu ıda zaten güncellenmiş.", + "Only room administrators will see this warning": "Bu uyarıyı sadece oda yöneticileri görür", + "Failed to connect to integration manager": "Entegrasyon yöneticisine bağlanma başarısız", + "Add some now": "Şimdi biraz ekle", + "Stickerpack": "Çıkartma paketi", + "Hide Stickers": "Çıkartmaları Gizle", + "Show Stickers": "Çıkartmaları Göster", + "Failed to revoke invite": "Davetin geri çekilmesi başarısız", + "Revoke invite": "Davet geri çekildi", + "Invited by %(sender)s": "%(sender)s tarafından davet", + "Error updating main address": "Ana adres güncellemede hata", + "Error removing alias": "Lakap silmede hata", + "Main address": "Ana adres", + "Invalid community ID": "Geçersiz topluluk ID si", + "'%(groupId)s' is not a valid community ID": "%(groupId)s geçerli olmayan bir topluluk ID si", + "New community ID (e.g. +foo:%(localDomain)s)": "Yeni topluluk ID si ( örn. +foo:%(localDomain)s)", + "Room Name": "Oda Adı", + "Hide verified sessions": "Onaylı oturumları gizle", + "%(count)s verified sessions|other": "%(count)s doğrulanmış oturum", + "%(count)s verified sessions|one": "1 doğrulanmış oturum", + "Direct message": "Doğrudan mesaj", + "Remove from community": "Topluluktan sil", + "Remove this user from community?": "Bu kullanıcıyı topluluktan sil?", + "Failed to withdraw invitation": "Davetin geri çekilmesi başarısız", + "Failed to remove user from community": "Kullanıcıyı bu topluluktan silme başarısız", + "Verify": "Doğrula", + "Security": "Güvenlik", + "Reply": "Cevapla", + "Edit": "Düzenle", + "Message Actions": "Mesaj Eylemleri", + "Show image": "Resim göster", + "You verified %(name)s": "%(name)s yı doğruladınız", + "You cancelled verifying %(name)s": "%(name)s doğrulaması iptal edildi", + "You accepted": "Kabul ettiniz", + "%(name)s accepted": "%(name)s kabul etti", + "You cancelled": "İptal ettiniz", + "%(name)s cancelled": "%(name)s iptal etti", + "%(name)s wants to verify": "%(name)s doğrulamak istiyor", + "You sent a verification request": "Doğrulama isteği gönderdiniz", + "Show all": "Hepsini göster", + "Reactions": "Tepkiler", + "Click here to see older messages.": "Daha eski mesajları görmek için buraya tıklayın.", + "Copied!": "Kopyalandı!", + "Failed to copy": "Kopyalama başarısız", + "edited": "düzenlendi", + "Message removed by %(userId)s": "Mesaj %(userId)s tarafından silindi" } From 422d4cd73a7c5223ba5f886314f06be2ad5c1ae1 Mon Sep 17 00:00:00 2001 From: Zoe Date: Mon, 13 Jan 2020 11:18:24 +0000 Subject: [PATCH 41/51] small simplification in code as `.getContent()` will always return an object --- src/components/views/rooms/RoomTile.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/components/views/rooms/RoomTile.js b/src/components/views/rooms/RoomTile.js index 232e11cfd8..fd06962a99 100644 --- a/src/components/views/rooms/RoomTile.js +++ b/src/components/views/rooms/RoomTile.js @@ -112,8 +112,7 @@ module.exports = createReactClass({ onJoinRule: function(ev) { if (ev.getType() !== "m.room.join_rules") return; if (ev.getRoomId() !== this.props.room.roomId) return; - const joinRule = (ev.getContent() || {}).join_rule; - this.setState({ joinRule }); + this.setState({ joinRule: ev.getContent().join_rule }); }, onAccountData: function(accountDataEvent) { From 2168e7ec0cb11f0a35a615c9ed2a82da23697ca7 Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Mon, 13 Jan 2020 11:48:51 +0000 Subject: [PATCH 42/51] Add feature flag around the presence indicator in room list This adds a feature flag (disabled by default for now) around the room list presence indicator, as it still needs some tweaking before it's ready for production use. Part of https://github.com/vector-im/riot-web/issues/11799 --- src/components/views/rooms/RoomTile.js | 5 ++++- src/i18n/strings/en_EN.json | 1 + src/settings/Settings.js | 6 ++++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/components/views/rooms/RoomTile.js b/src/components/views/rooms/RoomTile.js index 241713c97d..f0c1a23c9c 100644 --- a/src/components/views/rooms/RoomTile.js +++ b/src/components/views/rooms/RoomTile.js @@ -381,7 +381,10 @@ module.exports = createReactClass({ const { room } = this.props; const member = room.getMember(dmUserId); - if (member && member.membership === "join" && room.getJoinedMemberCount() === 2) { + if ( + member && member.membership === "join" && room.getJoinedMemberCount() === 2 && + SettingsStore.isFeatureEnabled("feature_presence_in_room_list") + ) { const UserOnlineDot = sdk.getComponent('rooms.UserOnlineDot'); dmOnline = ; } diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 4311733b51..e4ef1adb13 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -359,6 +359,7 @@ "Multiple integration managers": "Multiple integration managers", "Try out new ways to ignore people (experimental)": "Try out new ways to ignore people (experimental)", "New DM invite dialog (under development)": "New DM invite dialog (under development)", + "Show a presence dot next to DMs in the room list": "Show a presence dot next to DMs in the room list", "Enable cross-signing to verify per-user instead of per-device (in development)": "Enable cross-signing to verify per-user instead of per-device (in development)", "Enable local event indexing and E2EE search (requires restart)": "Enable local event indexing and E2EE search (requires restart)", "Show info about bridges in room settings": "Show info about bridges in room settings", diff --git a/src/settings/Settings.js b/src/settings/Settings.js index 14208e1f03..8ee8d89890 100644 --- a/src/settings/Settings.js +++ b/src/settings/Settings.js @@ -134,6 +134,12 @@ export const SETTINGS = { supportedLevels: LEVELS_FEATURE, default: false, }, + "feature_presence_in_room_list": { + isFeature: true, + displayName: _td("Show a presence dot next to DMs in the room list"), + supportedLevels: LEVELS_FEATURE, + default: false, + }, "mjolnirRooms": { supportedLevels: ['account'], default: [], From 878c5b5b521e78793cf310597a6c1dbd7b2426ed Mon Sep 17 00:00:00 2001 From: Zoe Date: Mon, 13 Jan 2020 12:11:19 +0000 Subject: [PATCH 43/51] removed unnecessary lint rule --- src/components/views/rooms/RoomTile.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/views/rooms/RoomTile.js b/src/components/views/rooms/RoomTile.js index fd06962a99..6c14a1cb43 100644 --- a/src/components/views/rooms/RoomTile.js +++ b/src/components/views/rooms/RoomTile.js @@ -56,7 +56,6 @@ module.exports = createReactClass({ }, getInitialState: function() { - // eslint-disable-next-line camelcase const joinRules = this.props.room.currentState.getStateEvents("m.room.join_rules", ""); const joinRule = joinRules && joinRules.getContent().join_rule; From 9c686bf5019177c709dcbf5143d7d9e868bc6e9e Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Sun, 5 Jan 2020 20:30:01 +0000 Subject: [PATCH 44/51] Fix right panel buttons highlighting Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/structures/GroupView.js | 2 +- src/components/views/right_panel/HeaderButtons.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/structures/GroupView.js b/src/components/structures/GroupView.js index 9df4630136..50b63b94b1 100644 --- a/src/components/structures/GroupView.js +++ b/src/components/structures/GroupView.js @@ -1299,7 +1299,7 @@ export default createReactClass({ ); } - const rightPanel = !RightPanelStore.getSharedInstance().isOpenForGroup + const rightPanel = RightPanelStore.getSharedInstance().isOpenForGroup ? : undefined; diff --git a/src/components/views/right_panel/HeaderButtons.js b/src/components/views/right_panel/HeaderButtons.js index ebe1f5f915..dbcae4529a 100644 --- a/src/components/views/right_panel/HeaderButtons.js +++ b/src/components/views/right_panel/HeaderButtons.js @@ -74,7 +74,7 @@ export default class HeaderButtons extends React.Component { const rps = RightPanelStore.getSharedInstance(); if (this.state.headerKind === HEADER_KIND_ROOM) { this.setState({phase: rps.visibleRoomPanelPhase}); - } else if (this.state.head === HEADER_KIND_GROUP) { + } else if (this.state.headerKind === HEADER_KIND_GROUP) { this.setState({phase: rps.visibleGroupPanelPhase}); } } From 77b479d50c11d948cf767545541c38b475f14dbc Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Mon, 13 Jan 2020 12:29:03 +0000 Subject: [PATCH 45/51] Guard against missing members in avatars Part of https://github.com/vector-im/riot-web/issues/11744 --- src/Avatar.js | 19 +++++++++++-------- src/components/views/avatars/MemberAvatar.js | 2 +- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/Avatar.js b/src/Avatar.js index 17860698cb..a529ca5588 100644 --- a/src/Avatar.js +++ b/src/Avatar.js @@ -21,14 +21,17 @@ import DMRoomMap from './utils/DMRoomMap'; module.exports = { avatarUrlForMember: function(member, width, height, resizeMethod) { - let url = member.getAvatarUrl( - MatrixClientPeg.get().getHomeserverUrl(), - Math.floor(width * window.devicePixelRatio), - Math.floor(height * window.devicePixelRatio), - resizeMethod, - false, - false, - ); + let url; + if (member && member.getAvatarUrl) { + url = member.getAvatarUrl( + MatrixClientPeg.get().getHomeserverUrl(), + Math.floor(width * window.devicePixelRatio), + Math.floor(height * window.devicePixelRatio), + resizeMethod, + false, + false, + ); + } if (!url) { // member can be null here currently since on invites, the JS SDK // does not have enough info to build a RoomMember object for diff --git a/src/components/views/avatars/MemberAvatar.js b/src/components/views/avatars/MemberAvatar.js index 383bab5e79..8b6d41eb9f 100644 --- a/src/components/views/avatars/MemberAvatar.js +++ b/src/components/views/avatars/MemberAvatar.js @@ -55,7 +55,7 @@ module.exports = createReactClass({ }, _getState: function(props) { - if (props.member) { + if (props.member && props.member.name) { return { name: props.member.name, title: props.title || props.member.userId, From 63e5c44c63f70137ef36ec11fa3bcedf34f0737a Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Mon, 13 Jan 2020 11:48:51 +0000 Subject: [PATCH 46/51] Add feature flag around the presence indicator in room list This adds a feature flag (disabled by default for now) around the room list presence indicator, as it still needs some tweaking before it's ready for production use. Part of https://github.com/vector-im/riot-web/issues/11799 --- src/components/views/rooms/RoomTile.js | 5 ++++- src/i18n/strings/en_EN.json | 1 + src/settings/Settings.js | 6 ++++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/components/views/rooms/RoomTile.js b/src/components/views/rooms/RoomTile.js index 241713c97d..f0c1a23c9c 100644 --- a/src/components/views/rooms/RoomTile.js +++ b/src/components/views/rooms/RoomTile.js @@ -381,7 +381,10 @@ module.exports = createReactClass({ const { room } = this.props; const member = room.getMember(dmUserId); - if (member && member.membership === "join" && room.getJoinedMemberCount() === 2) { + if ( + member && member.membership === "join" && room.getJoinedMemberCount() === 2 && + SettingsStore.isFeatureEnabled("feature_presence_in_room_list") + ) { const UserOnlineDot = sdk.getComponent('rooms.UserOnlineDot'); dmOnline = ; } diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 9c2105afab..fe64a7df12 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -359,6 +359,7 @@ "Multiple integration managers": "Multiple integration managers", "Try out new ways to ignore people (experimental)": "Try out new ways to ignore people (experimental)", "New DM invite dialog (under development)": "New DM invite dialog (under development)", + "Show a presence dot next to DMs in the room list": "Show a presence dot next to DMs in the room list", "Enable cross-signing to verify per-user instead of per-device (in development)": "Enable cross-signing to verify per-user instead of per-device (in development)", "Enable local event indexing and E2EE search (requires restart)": "Enable local event indexing and E2EE search (requires restart)", "Show info about bridges in room settings": "Show info about bridges in room settings", diff --git a/src/settings/Settings.js b/src/settings/Settings.js index 14208e1f03..8ee8d89890 100644 --- a/src/settings/Settings.js +++ b/src/settings/Settings.js @@ -134,6 +134,12 @@ export const SETTINGS = { supportedLevels: LEVELS_FEATURE, default: false, }, + "feature_presence_in_room_list": { + isFeature: true, + displayName: _td("Show a presence dot next to DMs in the room list"), + supportedLevels: LEVELS_FEATURE, + default: false, + }, "mjolnirRooms": { supportedLevels: ['account'], default: [], From 8fc85797a7715bce0319298e6f8d08619f75cd4f Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Mon, 13 Jan 2020 12:29:03 +0000 Subject: [PATCH 47/51] Guard against missing members in avatars Part of https://github.com/vector-im/riot-web/issues/11744 --- src/Avatar.js | 19 +++++++++++-------- src/components/views/avatars/MemberAvatar.js | 2 +- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/Avatar.js b/src/Avatar.js index 17860698cb..a529ca5588 100644 --- a/src/Avatar.js +++ b/src/Avatar.js @@ -21,14 +21,17 @@ import DMRoomMap from './utils/DMRoomMap'; module.exports = { avatarUrlForMember: function(member, width, height, resizeMethod) { - let url = member.getAvatarUrl( - MatrixClientPeg.get().getHomeserverUrl(), - Math.floor(width * window.devicePixelRatio), - Math.floor(height * window.devicePixelRatio), - resizeMethod, - false, - false, - ); + let url; + if (member && member.getAvatarUrl) { + url = member.getAvatarUrl( + MatrixClientPeg.get().getHomeserverUrl(), + Math.floor(width * window.devicePixelRatio), + Math.floor(height * window.devicePixelRatio), + resizeMethod, + false, + false, + ); + } if (!url) { // member can be null here currently since on invites, the JS SDK // does not have enough info to build a RoomMember object for diff --git a/src/components/views/avatars/MemberAvatar.js b/src/components/views/avatars/MemberAvatar.js index 383bab5e79..8b6d41eb9f 100644 --- a/src/components/views/avatars/MemberAvatar.js +++ b/src/components/views/avatars/MemberAvatar.js @@ -55,7 +55,7 @@ module.exports = createReactClass({ }, _getState: function(props) { - if (props.member) { + if (props.member && props.member.name) { return { name: props.member.name, title: props.title || props.member.userId, From 66b55495bb02433b00b3faf60dcfaadb28a41577 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Sun, 5 Jan 2020 20:30:01 +0000 Subject: [PATCH 48/51] Fix right panel buttons highlighting Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/structures/GroupView.js | 2 +- src/components/views/right_panel/HeaderButtons.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/structures/GroupView.js b/src/components/structures/GroupView.js index 9df4630136..50b63b94b1 100644 --- a/src/components/structures/GroupView.js +++ b/src/components/structures/GroupView.js @@ -1299,7 +1299,7 @@ export default createReactClass({ ); } - const rightPanel = !RightPanelStore.getSharedInstance().isOpenForGroup + const rightPanel = RightPanelStore.getSharedInstance().isOpenForGroup ? : undefined; diff --git a/src/components/views/right_panel/HeaderButtons.js b/src/components/views/right_panel/HeaderButtons.js index ebe1f5f915..dbcae4529a 100644 --- a/src/components/views/right_panel/HeaderButtons.js +++ b/src/components/views/right_panel/HeaderButtons.js @@ -74,7 +74,7 @@ export default class HeaderButtons extends React.Component { const rps = RightPanelStore.getSharedInstance(); if (this.state.headerKind === HEADER_KIND_ROOM) { this.setState({phase: rps.visibleRoomPanelPhase}); - } else if (this.state.head === HEADER_KIND_GROUP) { + } else if (this.state.headerKind === HEADER_KIND_GROUP) { this.setState({phase: rps.visibleGroupPanelPhase}); } } From 9a3ca289781fd3a59dac47a378ef8565029cc4c6 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Mon, 13 Jan 2020 13:01:36 +0000 Subject: [PATCH 49/51] js-sdk 3.0.0 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 2237ae2d53..253f230f14 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "linkifyjs": "^2.1.6", "lodash": "^4.17.14", "lolex": "4.2", - "matrix-js-sdk": "3.0.0-rc.1", + "matrix-js-sdk": "3.0.0", "optimist": "^0.6.1", "pako": "^1.0.5", "png-chunks-extract": "^1.0.0", diff --git a/yarn.lock b/yarn.lock index 982760c49a..ff86a10a11 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5271,10 +5271,10 @@ mathml-tag-names@^2.0.1: resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.1.tgz#6dff66c99d55ecf739ca53c492e626f1d12a33cc" integrity sha512-pWB896KPGSGkp1XtyzRBftpTzwSOL0Gfk0wLvxt4f2mgzjY19o0LxJ3U25vNWTzsh7da+KTbuXQoQ3lOJZ8WHw== -matrix-js-sdk@3.0.0-rc.1: - version "3.0.0-rc.1" - resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-3.0.0-rc.1.tgz#6ecdedab752933f6a0ccf6aa7d2786bd32f6d7f7" - integrity sha512-1eaECVqG64tj1pE0UBFTIGc1whryXLNaRpkrXrZ5+ZMDtuK2ZDlTOLYoK3t4z/hjn+4C6a294ytoEVe0UnIA8w== +matrix-js-sdk@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-3.0.0.tgz#97908f9eda9eeb3ba0333b7e474c45f2b258e50c" + integrity sha512-lzUMwJAZHw7Dk0K+rubqe6kEpy4+pJ+qCp8n6lisfdKfMDJXdNCkjiiXRnakM1ZD4PFYK8ju89+NfxlyhAAd4A== dependencies: another-json "^0.2.0" browser-request "^0.3.3" From d38c3582353182debb2f4e6085e0a966a7c9df74 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Mon, 13 Jan 2020 13:06:30 +0000 Subject: [PATCH 50/51] Prepare changelog for v1.7.6 --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a416920529..3ae2711e25 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +Changes in [1.7.6](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.7.6) (2020-01-13) +=================================================================================================== +[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.7.6-rc.2...v1.7.6) + + * Repair community member info panel + [\#3834](https://github.com/matrix-org/matrix-react-sdk/pull/3834) + * Add feature flag around the presence indicator in room list + [\#3833](https://github.com/matrix-org/matrix-react-sdk/pull/3833) + Changes in [1.7.6-rc.2](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v1.7.6-rc.2) (2020-01-08) ============================================================================================================= [Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v1.7.6-rc.1...v1.7.6-rc.2) From 8091cadc46d0b92e7b0c024becb0fc802f95cad4 Mon Sep 17 00:00:00 2001 From: RiotRobot Date: Mon, 13 Jan 2020 13:06:31 +0000 Subject: [PATCH 51/51] v1.7.6 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 253f230f14..2de2877c81 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "matrix-react-sdk", - "version": "1.7.6-rc.2", + "version": "1.7.6", "description": "SDK for matrix.org using React", "author": "matrix.org", "repository": {