Merge branch 'develop' into travis/room-list/scrolling-resize

This commit is contained in:
Travis Ralston 2020-06-04 09:19:54 -06:00
commit cdf2d70aea
7 changed files with 221 additions and 42 deletions

View file

@ -1,3 +1,185 @@
Changes in [2.7.0](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.7.0) (2020-06-04)
===================================================================================================
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.7.0-rc.2...v2.7.0)
* Prevent (double) 4S bootstrap from RestoreKeyBackupDialog
[\#4703](https://github.com/matrix-org/matrix-react-sdk/pull/4703)
* Fix checkbox bleed
[\#4702](https://github.com/matrix-org/matrix-react-sdk/pull/4702)
* Fix login loop where the sso flow returns to `#/login` to release
[\#4693](https://github.com/matrix-org/matrix-react-sdk/pull/4693)
Changes in [2.7.0-rc.2](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.7.0-rc.2) (2020-06-02)
=============================================================================================================
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.7.0-rc.1...v2.7.0-rc.2)
* Rewire the Sticker button to be an Emoji Picker
[\#3747](https://github.com/matrix-org/matrix-react-sdk/pull/3747)
Changes in [2.7.0-rc.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.7.0-rc.1) (2020-06-02)
=============================================================================================================
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.6.1...v2.7.0-rc.1)
* Upgrade to JS SDK 6.2.0-rc.1
* Update from Weblate
[\#4683](https://github.com/matrix-org/matrix-react-sdk/pull/4683)
* Make auth argument in the register request compliant with r0.6.0
[\#4347](https://github.com/matrix-org/matrix-react-sdk/pull/4347)
* Revert "Prevent PersistedElements overflowing scrolled areas"
[\#4682](https://github.com/matrix-org/matrix-react-sdk/pull/4682)
* Remove unused TagPanelButtons
[\#4680](https://github.com/matrix-org/matrix-react-sdk/pull/4680)
* Pass roomId to IRCTimelineProfileResizer
[\#4679](https://github.com/matrix-org/matrix-react-sdk/pull/4679)
* Remove logging to console for irc name resize
[\#4678](https://github.com/matrix-org/matrix-react-sdk/pull/4678)
* Use arrow functions instead of binding `this`
[\#4677](https://github.com/matrix-org/matrix-react-sdk/pull/4677)
* Increase specificity of compact layout selectors
[\#4675](https://github.com/matrix-org/matrix-react-sdk/pull/4675)
* Create and use stylised checkboxes
[\#4665](https://github.com/matrix-org/matrix-react-sdk/pull/4665)
* useIRCLayout moved to props
[\#4676](https://github.com/matrix-org/matrix-react-sdk/pull/4676)
* Fix paste image to upload
[\#4674](https://github.com/matrix-org/matrix-react-sdk/pull/4674)
* Fix FilePanel and NotificationsPanel regression
[\#4647](https://github.com/matrix-org/matrix-react-sdk/pull/4647)
* Allow deferring of Update Toast until the next morning
[\#4669](https://github.com/matrix-org/matrix-react-sdk/pull/4669)
* Give contextual feedback for manual update check instead of banner
[\#4668](https://github.com/matrix-org/matrix-react-sdk/pull/4668)
* Dialog wrap title instead of taking same space as the close/cancel button
[\#4659](https://github.com/matrix-org/matrix-react-sdk/pull/4659)
* Update Modular hosting link
[\#4627](https://github.com/matrix-org/matrix-react-sdk/pull/4627)
* Fix field placeholder regression
[\#4663](https://github.com/matrix-org/matrix-react-sdk/pull/4663)
* Fix/document a number of UIA oddities
[\#4667](https://github.com/matrix-org/matrix-react-sdk/pull/4667)
* Stop copy icon repeating weirdly
[\#4662](https://github.com/matrix-org/matrix-react-sdk/pull/4662)
* Try and fix the Notifier race
[\#4661](https://github.com/matrix-org/matrix-react-sdk/pull/4661)
* set the client's pickle key if the platform can store one
[\#4657](https://github.com/matrix-org/matrix-react-sdk/pull/4657)
* Migrate Banners to Toasts
[\#4624](https://github.com/matrix-org/matrix-react-sdk/pull/4624)
* Move Appearance tab to ts
[\#4658](https://github.com/matrix-org/matrix-react-sdk/pull/4658)
* Fix room alias lookup vs peeking race condition
[\#4606](https://github.com/matrix-org/matrix-react-sdk/pull/4606)
* Fix encryption icon miss-alignment
[\#4651](https://github.com/matrix-org/matrix-react-sdk/pull/4651)
* Fix sublist sizing regression
[\#4649](https://github.com/matrix-org/matrix-react-sdk/pull/4649)
* Fix lines overflowing room list width
[\#4650](https://github.com/matrix-org/matrix-react-sdk/pull/4650)
* Remove the keyshare dialog
[\#4648](https://github.com/matrix-org/matrix-react-sdk/pull/4648)
* Update badge counts in new room list as needed
[\#4654](https://github.com/matrix-org/matrix-react-sdk/pull/4654)
* EventIndex: Handle invalid m.room.redaction events correctly.
[\#4653](https://github.com/matrix-org/matrix-react-sdk/pull/4653)
* EventIndex: Print out the checkpoint if there was an error during a crawl
[\#4652](https://github.com/matrix-org/matrix-react-sdk/pull/4652)
* Move Field to Typescript
[\#4635](https://github.com/matrix-org/matrix-react-sdk/pull/4635)
* Use connection error to detect network problem
[\#4646](https://github.com/matrix-org/matrix-react-sdk/pull/4646)
* Revert default font size to 15px
[\#4641](https://github.com/matrix-org/matrix-react-sdk/pull/4641)
* Add logging when room join fails
[\#4645](https://github.com/matrix-org/matrix-react-sdk/pull/4645)
* Remove EncryptedEventDialog
[\#4644](https://github.com/matrix-org/matrix-react-sdk/pull/4644)
* Migrate Toasts to Typescript and to granular priority system
[\#4618](https://github.com/matrix-org/matrix-react-sdk/pull/4618)
* Update Crypto Store Too New copy
[\#4632](https://github.com/matrix-org/matrix-react-sdk/pull/4632)
* MemberAvatar should not have its own letter fallback, it should use
BaseAvatar
[\#4643](https://github.com/matrix-org/matrix-react-sdk/pull/4643)
* Fix media upload issues with abort and status bar
[\#4630](https://github.com/matrix-org/matrix-react-sdk/pull/4630)
* fix viewGroup to actually show the group if possible
[\#4633](https://github.com/matrix-org/matrix-react-sdk/pull/4633)
* Update confirm passphrase copy
[\#4634](https://github.com/matrix-org/matrix-react-sdk/pull/4634)
* Improve accessibility of the emoji picker
[\#4636](https://github.com/matrix-org/matrix-react-sdk/pull/4636)
* Fix Emoji Picker footer being too small if text overflows
[\#4631](https://github.com/matrix-org/matrix-react-sdk/pull/4631)
* Improve style of toasts to match Figma
[\#4613](https://github.com/matrix-org/matrix-react-sdk/pull/4613)
* Iterate toast count indicator more logically
[\#4620](https://github.com/matrix-org/matrix-react-sdk/pull/4620)
* Fix reacting to redactions
[\#4626](https://github.com/matrix-org/matrix-react-sdk/pull/4626)
* Fix sentMessageAndIsAlone by dispatching `message_sent` more consistently
[\#4628](https://github.com/matrix-org/matrix-react-sdk/pull/4628)
* Update from Weblate
[\#4640](https://github.com/matrix-org/matrix-react-sdk/pull/4640)
* Replace `alias` with `address` in copy for consistency
[\#4402](https://github.com/matrix-org/matrix-react-sdk/pull/4402)
* Convert MatrixClientPeg to TypeScript
[\#4638](https://github.com/matrix-org/matrix-react-sdk/pull/4638)
* Fix BaseAvatar wrongly retrying urls
[\#4629](https://github.com/matrix-org/matrix-react-sdk/pull/4629)
* Fix event highlights not being updated to reflect edits
[\#4637](https://github.com/matrix-org/matrix-react-sdk/pull/4637)
* Calculate badges in the new room list more reliably
[\#4625](https://github.com/matrix-org/matrix-react-sdk/pull/4625)
* Transition BaseAvatar to hooks
[\#4101](https://github.com/matrix-org/matrix-react-sdk/pull/4101)
* Convert BasePlatform and BaseEventIndexManager to Typescript
[\#4614](https://github.com/matrix-org/matrix-react-sdk/pull/4614)
* Fix: Tag_DM is not defined
[\#4619](https://github.com/matrix-org/matrix-react-sdk/pull/4619)
* Fix visibility of message timestamps
[\#4615](https://github.com/matrix-org/matrix-react-sdk/pull/4615)
* Rewrite the room list store
[\#4253](https://github.com/matrix-org/matrix-react-sdk/pull/4253)
* Update code style to mention switch statements
[\#4610](https://github.com/matrix-org/matrix-react-sdk/pull/4610)
* Fix key backup restore with SSSS
[\#4612](https://github.com/matrix-org/matrix-react-sdk/pull/4612)
* Handle null tokens in the crawler loop.
[\#4608](https://github.com/matrix-org/matrix-react-sdk/pull/4608)
* Font scaling settings and slider
[\#4424](https://github.com/matrix-org/matrix-react-sdk/pull/4424)
* Prevent PersistedElements overflowing scrolled areas
[\#4494](https://github.com/matrix-org/matrix-react-sdk/pull/4494)
* IRC ui layout
[\#4531](https://github.com/matrix-org/matrix-react-sdk/pull/4531)
* Remove SSSS key upgrade check from rageshake
[\#4607](https://github.com/matrix-org/matrix-react-sdk/pull/4607)
* Label the create room button better than "Add room"
[\#4603](https://github.com/matrix-org/matrix-react-sdk/pull/4603)
* Convert the dispatcher to TypeScript
[\#4593](https://github.com/matrix-org/matrix-react-sdk/pull/4593)
* Consolidate password/passphrase fields into a component & add dynamic colour
to progress
[\#4599](https://github.com/matrix-org/matrix-react-sdk/pull/4599)
* UserView, show Welcome page in the mid panel instead of empty space
[\#4590](https://github.com/matrix-org/matrix-react-sdk/pull/4590)
* Update from Weblate
[\#4601](https://github.com/matrix-org/matrix-react-sdk/pull/4601)
* Make email auth component fail better if server claims email isn't validated
[\#4600](https://github.com/matrix-org/matrix-react-sdk/pull/4600)
* Add new keyboard shortcuts for jump to unread and upload file
[\#4588](https://github.com/matrix-org/matrix-react-sdk/pull/4588)
* accept and linkify local domains like those from mDNS
[\#4594](https://github.com/matrix-org/matrix-react-sdk/pull/4594)
* Revert "ImageView make clicking off it easier"
[\#4586](https://github.com/matrix-org/matrix-react-sdk/pull/4586)
* wrap node-qrcode in a React FC and use it for ShareDialog
[\#4394](https://github.com/matrix-org/matrix-react-sdk/pull/4394)
* Pass screenAfterLogin through SSO in the callback url
[\#4585](https://github.com/matrix-org/matrix-react-sdk/pull/4585)
* Remove debugging that causes email addresses to load forever
[\#4597](https://github.com/matrix-org/matrix-react-sdk/pull/4597)
Changes in [2.6.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.6.1) (2020-05-22) Changes in [2.6.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.6.1) (2020-05-22)
=================================================================================================== ===================================================================================================
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.6.0...v2.6.1) [Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.6.0...v2.6.1)

View file

@ -1,6 +1,6 @@
{ {
"name": "matrix-react-sdk", "name": "matrix-react-sdk",
"version": "2.6.1", "version": "2.7.0",
"description": "SDK for matrix.org using React", "description": "SDK for matrix.org using React",
"author": "matrix.org", "author": "matrix.org",
"repository": { "repository": {

View file

@ -23,6 +23,7 @@ limitations under the License.
border-radius: 3px; border-radius: 3px;
border: solid 1px $accent-color; border: solid 1px $accent-color;
cursor: pointer; cursor: pointer;
z-index: 1;
} }
.mx_AddressSelector.mx_AddressSelector_empty { .mx_AddressSelector.mx_AddressSelector_empty {

View file

@ -34,6 +34,30 @@ import IRCTimelineProfileResizer from "../views/elements/IRCTimelineProfileResiz
const CONTINUATION_MAX_INTERVAL = 5 * 60 * 1000; // 5 minutes const CONTINUATION_MAX_INTERVAL = 5 * 60 * 1000; // 5 minutes
const continuedTypes = ['m.sticker', 'm.room.message']; const continuedTypes = ['m.sticker', 'm.room.message'];
// check if there is a previous event and it has the same sender as this event
// and the types are the same/is in continuedTypes and the time between them is <= CONTINUATION_MAX_INTERVAL
function shouldFormContinuation(prevEvent, mxEvent) {
// sanity check inputs
if (!prevEvent || !prevEvent.sender || !mxEvent.sender) return false;
// check if within the max continuation period
if (mxEvent.getTs() - prevEvent.getTs() > CONTINUATION_MAX_INTERVAL) return false;
// Some events should appear as continuations from previous events of different types.
if (mxEvent.getType() !== prevEvent.getType() &&
(!continuedTypes.includes(mxEvent.getType()) ||
!continuedTypes.includes(prevEvent.getType()))) return false;
// Check if the sender is the same and hasn't changed their displayname/avatar between these events
if (mxEvent.sender.userId !== prevEvent.sender.userId ||
mxEvent.sender.name !== prevEvent.sender.name ||
mxEvent.sender.getMxcAvatarUrl() !== prevEvent.sender.getMxcAvatarUrl()) return false;
// if we don't have tile for previous event then it was shown by showHiddenEvents and has no SenderProfile
if (!haveTileForEvent(prevEvent)) return false;
return true;
}
const isMembershipChange = (e) => e.getType() === 'm.room.member' || e.getType() === 'm.room.third_party_invite'; const isMembershipChange = (e) => e.getType() === 'm.room.member' || e.getType() === 'm.room.third_party_invite';
/* (almost) stateless UI component which builds the event tiles in the room timeline. /* (almost) stateless UI component which builds the event tiles in the room timeline.
@ -515,39 +539,6 @@ export default class MessagePanel extends React.Component {
const isEditing = this.props.editState && const isEditing = this.props.editState &&
this.props.editState.getEvent().getId() === mxEv.getId(); this.props.editState.getEvent().getId() === mxEv.getId();
// is this a continuation of the previous message?
let continuation = false;
// Some events should appear as continuations from previous events of
// different types.
const eventTypeContinues =
prevEvent !== null &&
continuedTypes.includes(mxEv.getType()) &&
continuedTypes.includes(prevEvent.getType());
// if there is a previous event and it has the same sender as this event
// and the types are the same/is in continuedTypes and the time between them is <= CONTINUATION_MAX_INTERVAL
if (prevEvent !== null && prevEvent.sender && mxEv.sender && mxEv.sender.userId === prevEvent.sender.userId &&
// if we don't have tile for previous event then it was shown by showHiddenEvents and has no SenderProfile
haveTileForEvent(prevEvent) && (mxEv.getType() === prevEvent.getType() || eventTypeContinues) &&
(mxEv.getTs() - prevEvent.getTs() <= CONTINUATION_MAX_INTERVAL)) {
continuation = true;
}
/*
// Work out if this is still a continuation, as we are now showing commands
// and /me messages with their own little avatar. The case of a change of
// event type (commands) is handled above, but we need to handle the /me
// messages seperately as they have a msgtype of 'm.emote' but are classed
// as normal messages
if (prevEvent !== null && prevEvent.sender && mxEv.sender
&& mxEv.sender.userId === prevEvent.sender.userId
&& mxEv.getType() == prevEvent.getType()
&& prevEvent.getContent().msgtype === 'm.emote') {
continuation = false;
}
*/
// local echoes have a fake date, which could even be yesterday. Treat them // local echoes have a fake date, which could even be yesterday. Treat them
// as 'today' for the date separators. // as 'today' for the date separators.
@ -559,12 +550,15 @@ export default class MessagePanel extends React.Component {
} }
// do we need a date separator since the last event? // do we need a date separator since the last event?
if (this._wantsDateSeparator(prevEvent, eventDate)) { const wantsDateSeparator = this._wantsDateSeparator(prevEvent, eventDate);
if (wantsDateSeparator) {
const dateSeparator = <li key={ts1}><DateSeparator key={ts1} ts={ts1} /></li>; const dateSeparator = <li key={ts1}><DateSeparator key={ts1} ts={ts1} /></li>;
ret.push(dateSeparator); ret.push(dateSeparator);
continuation = false;
} }
// is this a continuation of the previous message?
const continuation = !wantsDateSeparator && shouldFormContinuation(prevEvent, mxEv);
const eventId = mxEv.getId(); const eventId = mxEv.getId();
const highlight = (eventId === this.props.highlightedEventId); const highlight = (eventId === this.props.highlightedEventId);

View file

@ -227,8 +227,10 @@ export default class RestoreKeyBackupDialog extends React.PureComponent {
loadError: null, loadError: null,
}); });
try { try {
const backupInfo = await MatrixClientPeg.get().getKeyBackupVersion(); const cli = MatrixClientPeg.get();
const backupKeyStored = await MatrixClientPeg.get().isKeyBackupKeyStored(); const backupInfo = await cli.getKeyBackupVersion();
const has4S = await cli.hasSecretStorageKey();
const backupKeyStored = has4S && await cli.isKeyBackupKeyStored();
this.setState({ this.setState({
backupInfo, backupInfo,
backupKeyStored, backupKeyStored,

View file

@ -40,8 +40,8 @@ export default class ProfileSettings extends React.Component {
if (avatarUrl) avatarUrl = client.mxcUrlToHttp(avatarUrl, 96, 96, 'crop', false); if (avatarUrl) avatarUrl = client.mxcUrlToHttp(avatarUrl, 96, 96, 'crop', false);
this.state = { this.state = {
userId: user.userId, userId: user.userId,
originalDisplayName: user.displayName, originalDisplayName: user.rawDisplayName,
displayName: user.displayName, displayName: user.rawDisplayName,
originalAvatarUrl: avatarUrl, originalAvatarUrl: avatarUrl,
avatarUrl: avatarUrl, avatarUrl: avatarUrl,
avatarFile: null, avatarFile: null,

View file

@ -5802,8 +5802,8 @@ mathml-tag-names@^2.0.1:
integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg== integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==
"matrix-js-sdk@github:matrix-org/matrix-js-sdk#develop": "matrix-js-sdk@github:matrix-org/matrix-js-sdk#develop":
version "6.1.0" version "6.2.0"
resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/a4a7097c103da42075f2c70e070fd01fa6fb0d48" resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/ef1d5e3d765bc4dc133c0637434c2ca9941ff97b"
dependencies: dependencies:
"@babel/runtime" "^7.8.3" "@babel/runtime" "^7.8.3"
another-json "^0.2.0" another-json "^0.2.0"