Merge branch 'bwindels/toastwithoutxsign' into bwindels/bringbacklegacyverififnoxsignkeys
commit
b312e73510
|
@ -34,7 +34,7 @@ All code lands on the `develop` branch - `master` is only used for stable releas
|
||||||
**Please file PRs against `develop`!!**
|
**Please file PRs against `develop`!!**
|
||||||
|
|
||||||
Please follow the standard Matrix contributor's guide:
|
Please follow the standard Matrix contributor's guide:
|
||||||
https://github.com/matrix-org/synapse/tree/master/CONTRIBUTING.rst
|
https://github.com/matrix-org/matrix-js-sdk/blob/develop/CONTRIBUTING.rst
|
||||||
|
|
||||||
Please follow the Matrix JS/React code style as per:
|
Please follow the Matrix JS/React code style as per:
|
||||||
https://github.com/matrix-org/matrix-react-sdk/blob/master/code_style.md
|
https://github.com/matrix-org/matrix-react-sdk/blob/master/code_style.md
|
||||||
|
|
|
@ -289,17 +289,11 @@ div.mx_EventTile_notSent.mx_EventTile_redacted .mx_UnknownBody {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 14px;
|
width: 14px;
|
||||||
height: 14px;
|
height: 14px;
|
||||||
top: 29px;
|
top: -19px;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mx_EventTile_continuation .mx_EventTile_readAvatars,
|
|
||||||
.mx_EventTile_info .mx_EventTile_readAvatars,
|
|
||||||
.mx_EventTile_emote .mx_EventTile_readAvatars {
|
|
||||||
top: 7px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mx_EventTile_readAvatars .mx_BaseAvatar {
|
.mx_EventTile_readAvatars .mx_BaseAvatar {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
@ -634,15 +628,6 @@ div.mx_EventTile_notSent.mx_EventTile_redacted .mx_UnknownBody {
|
||||||
top: 27px;
|
top: 27px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mx_EventTile_continuation .mx_EventTile_readAvatars,
|
|
||||||
.mx_EventTile_emote .mx_EventTile_readAvatars {
|
|
||||||
top: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mx_EventTile_info .mx_EventTile_readAvatars {
|
|
||||||
top: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mx_RoomView_MessageList h2 {
|
.mx_RoomView_MessageList h2 {
|
||||||
margin-top: 6px;
|
margin-top: 6px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,3 +56,17 @@ limitations under the License.
|
||||||
mask-position: 9px 13px;
|
mask-position: 9px 13px;
|
||||||
background: $roomtile-name-color;
|
background: $roomtile-name-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.mx_TopUnreadMessagesBar_markAsRead {
|
||||||
|
display: block;
|
||||||
|
width: 18px;
|
||||||
|
height: 18px;
|
||||||
|
background-image: url('$(res)/img/cancel.svg');
|
||||||
|
background-position: center;
|
||||||
|
background-size: 10px;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-color: $primary-bg-color;
|
||||||
|
border: 1.3px solid $roomtile-name-color;
|
||||||
|
border-radius: 99px;
|
||||||
|
margin: 5px auto;
|
||||||
|
}
|
||||||
|
|
|
@ -1495,26 +1495,29 @@ export default createReactClass({
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (SettingsStore.isFeatureEnabled("feature_cross_signing")) {
|
cli.on("crypto.verification.request", request => {
|
||||||
cli.on("crypto.verification.request", request => {
|
const isFlagOn = SettingsStore.isFeatureEnabled("feature_cross_signing");
|
||||||
if (request.pending) {
|
|
||||||
ToastStore.sharedInstance().addOrReplaceToast({
|
if (!isFlagOn && !request.channel.deviceId) {
|
||||||
key: 'verifreq_' + request.channel.transactionId,
|
request.cancel({code: "m.invalid_message", reason: "This client has cross-signing disabled"});
|
||||||
title: _t("Verification Request"),
|
return;
|
||||||
icon: "verification",
|
}
|
||||||
props: {request},
|
|
||||||
component: sdk.getComponent("toasts.VerificationRequestToast"),
|
if (request.verifier) {
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
cli.on("crypto.verification.start", (verifier) => {
|
|
||||||
const IncomingSasDialog = sdk.getComponent("views.dialogs.IncomingSasDialog");
|
const IncomingSasDialog = sdk.getComponent("views.dialogs.IncomingSasDialog");
|
||||||
Modal.createTrackedDialog('Incoming Verification', '', IncomingSasDialog, {
|
Modal.createTrackedDialog('Incoming Verification', '', IncomingSasDialog, {
|
||||||
verifier,
|
verifier: request.verifier,
|
||||||
}, null, /* priority = */ false, /* static = */ true);
|
}, null, /* priority = */ false, /* static = */ true);
|
||||||
});
|
} else if (request.pending) {
|
||||||
}
|
ToastStore.sharedInstance().addOrReplaceToast({
|
||||||
|
key: 'verifreq_' + request.channel.transactionId,
|
||||||
|
title: _t("Verification Request"),
|
||||||
|
icon: "verification",
|
||||||
|
props: {request},
|
||||||
|
component: sdk.getComponent("toasts.VerificationRequestToast"),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
// Fire the tinter right on startup to ensure the default theme is applied
|
// Fire the tinter right on startup to ensure the default theme is applied
|
||||||
// A later sync can/will correct the tint to be the right value for the user
|
// A later sync can/will correct the tint to be the right value for the user
|
||||||
const colorScheme = SettingsStore.getValue("roomColor");
|
const colorScheme = SettingsStore.getValue("roomColor");
|
||||||
|
|
|
@ -880,9 +880,6 @@ export default createReactClass({
|
||||||
// tab-index=-1 to allow it to be focusable but do not add tab stop for it, primarily for screen readers
|
// tab-index=-1 to allow it to be focusable but do not add tab stop for it, primarily for screen readers
|
||||||
return (
|
return (
|
||||||
<div className={classes} tabIndex={-1}>
|
<div className={classes} tabIndex={-1}>
|
||||||
<div className="mx_EventTile_msgOption">
|
|
||||||
{ readAvatars }
|
|
||||||
</div>
|
|
||||||
{ sender }
|
{ sender }
|
||||||
<div className="mx_EventTile_line">
|
<div className="mx_EventTile_line">
|
||||||
<a
|
<a
|
||||||
|
@ -906,6 +903,9 @@ export default createReactClass({
|
||||||
{ reactionsRow }
|
{ reactionsRow }
|
||||||
{ actionBar }
|
{ actionBar }
|
||||||
</div>
|
</div>
|
||||||
|
<div className="mx_EventTile_msgOption">
|
||||||
|
{ readAvatars }
|
||||||
|
</div>
|
||||||
{
|
{
|
||||||
// The avatar goes after the event tile as it's absolutely positioned to be over the
|
// The avatar goes after the event tile as it's absolutely positioned to be over the
|
||||||
// event tile line, so needs to be later in the DOM so it appears on top (this avoids
|
// event tile line, so needs to be later in the DOM so it appears on top (this avoids
|
||||||
|
|
|
@ -490,16 +490,16 @@ export default createReactClass({
|
||||||
height="13"
|
height="13"
|
||||||
alt="dm"
|
alt="dm"
|
||||||
/>;
|
/>;
|
||||||
|
}
|
||||||
|
|
||||||
const { room } = this.props;
|
const { room } = this.props;
|
||||||
const member = room.getMember(dmUserId);
|
const member = room.getMember(dmUserId);
|
||||||
if (
|
if (
|
||||||
member && member.membership === "join" && room.getJoinedMemberCount() === 2 &&
|
member && member.membership === "join" && room.getJoinedMemberCount() === 2 &&
|
||||||
SettingsStore.isFeatureEnabled("feature_presence_in_room_list")
|
SettingsStore.isFeatureEnabled("feature_presence_in_room_list")
|
||||||
) {
|
) {
|
||||||
const UserOnlineDot = sdk.getComponent('rooms.UserOnlineDot');
|
const UserOnlineDot = sdk.getComponent('rooms.UserOnlineDot');
|
||||||
dmOnline = <UserOnlineDot userId={dmUserId} />;
|
dmOnline = <UserOnlineDot userId={dmUserId} />;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// The following labels are written in such a fashion to increase screen reader efficiency (speed).
|
// The following labels are written in such a fashion to increase screen reader efficiency (speed).
|
||||||
|
|
|
@ -27,6 +27,7 @@ export default createReactClass({
|
||||||
|
|
||||||
propTypes: {
|
propTypes: {
|
||||||
onScrollUpClick: PropTypes.func,
|
onScrollUpClick: PropTypes.func,
|
||||||
|
onCloseClick: PropTypes.func,
|
||||||
},
|
},
|
||||||
|
|
||||||
render: function() {
|
render: function() {
|
||||||
|
@ -36,6 +37,10 @@ export default createReactClass({
|
||||||
title={_t('Jump to first unread message.')}
|
title={_t('Jump to first unread message.')}
|
||||||
onClick={this.props.onScrollUpClick}>
|
onClick={this.props.onScrollUpClick}>
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
|
<AccessibleButton className="mx_TopUnreadMessagesBar_markAsRead"
|
||||||
|
title={_t('Mark all as read')}
|
||||||
|
onClick={this.props.onCloseClick}>
|
||||||
|
</AccessibleButton>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
|
@ -1140,6 +1140,7 @@
|
||||||
"Revoke invite": "Revoke invite",
|
"Revoke invite": "Revoke invite",
|
||||||
"Invited by %(sender)s": "Invited by %(sender)s",
|
"Invited by %(sender)s": "Invited by %(sender)s",
|
||||||
"Jump to first unread message.": "Jump to first unread message.",
|
"Jump to first unread message.": "Jump to first unread message.",
|
||||||
|
"Mark all as read": "Mark all as read",
|
||||||
"Error updating main address": "Error updating main address",
|
"Error updating main address": "Error updating main address",
|
||||||
"There was an error updating the room's main address. It may not be allowed by the server or a temporary failure occurred.": "There was an error updating the room's main address. It may not be allowed by the server or a temporary failure occurred.",
|
"There was an error updating the room's main address. It may not be allowed by the server or a temporary failure occurred.": "There was an error updating the room's main address. It may not be allowed by the server or a temporary failure occurred.",
|
||||||
"Error creating alias": "Error creating alias",
|
"Error creating alias": "Error creating alias",
|
||||||
|
|
Loading…
Reference in New Issue