From 2594ff8e803b5eb6d9125ddad50698172bde0eee Mon Sep 17 00:00:00 2001
From: Michael Telatynski <7t3chguy@gmail.com>
Date: Thu, 5 Nov 2020 15:39:22 +0000
Subject: [PATCH] Remove old isAlone checker
---
res/css/structures/_RoomStatusBar.scss | 10 -----
src/components/structures/RoomStatusBar.js | 30 +-------------
src/components/structures/RoomView.tsx | 46 +++-------------------
3 files changed, 7 insertions(+), 79 deletions(-)
diff --git a/res/css/structures/_RoomStatusBar.scss b/res/css/structures/_RoomStatusBar.scss
index cd4390ee5c..2d5359c0eb 100644
--- a/res/css/structures/_RoomStatusBar.scss
+++ b/res/css/structures/_RoomStatusBar.scss
@@ -153,16 +153,6 @@ limitations under the License.
display: block;
}
-.mx_RoomStatusBar_isAlone {
- height: 50px;
- line-height: $font-50px;
-
- color: $primary-fg-color;
- opacity: 0.5;
- overflow-y: hidden;
- display: block;
-}
-
.mx_MatrixChat_useCompactLayout {
.mx_RoomStatusBar {
min-height: 40px;
diff --git a/src/components/structures/RoomStatusBar.js b/src/components/structures/RoomStatusBar.js
index e390be6979..e6d2985073 100644
--- a/src/components/structures/RoomStatusBar.js
+++ b/src/components/structures/RoomStatusBar.js
@@ -41,9 +41,6 @@ export default class RoomStatusBar extends React.Component {
static propTypes = {
// the room this statusbar is representing.
room: PropTypes.object.isRequired,
- // This is true when the user is alone in the room, but has also sent a message.
- // Used to suggest to the user to invite someone
- sentMessageAndIsAlone: PropTypes.bool,
// The active call in the room, if any (means we show the call bar
// along with the status of the call)
@@ -68,10 +65,6 @@ export default class RoomStatusBar extends React.Component {
// 'you are alone' bar
onInviteClick: PropTypes.func,
- // callback for when the user clicks on the 'stop warning me' button in the
- // 'you are alone' bar
- onStopWarningClick: PropTypes.func,
-
// callback for when we do something that changes the size of the
// status bar. This is used to trigger a re-layout in the parent
// component.
@@ -159,10 +152,7 @@ export default class RoomStatusBar extends React.Component {
// changed - so we use '0' to indicate normal size, and other values to
// indicate other sizes.
_getSize() {
- if (this._shouldShowConnectionError() ||
- this._showCallBar() ||
- this.props.sentMessageAndIsAlone
- ) {
+ if (this._shouldShowConnectionError() || this._showCallBar()) {
return STATUS_BAR_EXPANDED;
} else if (this.state.unsentMessages.length > 0) {
return STATUS_BAR_EXPANDED_LARGE;
@@ -325,24 +315,6 @@ export default class RoomStatusBar extends React.Component {
);
}
- // If you're alone in the room, and have sent a message, suggest to invite someone
- if (this.props.sentMessageAndIsAlone && !this.props.isPeeking) {
- return (
-
- { _t("There's no one else here! Would you like to
invite others " +
- "or
stop warning about the empty room?",
- {},
- {
- 'inviteText': (sub) =>
-
{ sub },
- 'nowarnText': (sub) =>
-
{ sub },
- },
- ) }
-
- );
- }
-
return null;
}
diff --git a/src/components/structures/RoomView.tsx b/src/components/structures/RoomView.tsx
index 0cb4a5d305..8618e930d5 100644
--- a/src/components/structures/RoomView.tsx
+++ b/src/components/structures/RoomView.tsx
@@ -150,7 +150,6 @@ export interface IState {
guestsCanJoin: boolean;
canPeek: boolean;
showApps: boolean;
- isAlone: boolean;
isPeeking: boolean;
showingPinned: boolean;
showReadReceipts: boolean;
@@ -223,7 +222,6 @@ export default class RoomView extends React.Component {
guestsCanJoin: false,
canPeek: false,
showApps: false,
- isAlone: false,
isPeeking: false,
showingPinned: false,
showReadReceipts: true,
@@ -705,9 +703,8 @@ export default class RoomView extends React.Component {
private onAction = payload => {
switch (payload.action) {
- case 'message_send_failed':
case 'message_sent':
- this.checkIfAlone(this.state.room);
+ this.checkDesktopNotifications();
break;
case 'post_sticker_message':
this.injectSticker(
@@ -1025,36 +1022,15 @@ export default class RoomView extends React.Component {
}
// rate limited because a power level change will emit an event for every member in the room.
- private updateRoomMembers = rateLimitedFunc((dueToMember) => {
+ private updateRoomMembers = rateLimitedFunc(() => {
this.updateDMState();
-
- let memberCountInfluence = 0;
- if (dueToMember && dueToMember.membership === "invite" && this.state.room.getInvitedMemberCount() === 0) {
- // A member got invited, but the room hasn't detected that change yet. Influence the member
- // count by 1 to counteract this.
- memberCountInfluence = 1;
- }
- this.checkIfAlone(this.state.room, memberCountInfluence);
-
this.updateE2EStatus(this.state.room);
}, 500);
- private checkIfAlone(room: Room, countInfluence?: number) {
- let warnedAboutLonelyRoom = false;
- if (localStorage) {
- warnedAboutLonelyRoom = Boolean(localStorage.getItem('mx_user_alone_warned_' + this.state.room.roomId));
- }
- if (warnedAboutLonelyRoom) {
- if (this.state.isAlone) this.setState({isAlone: false});
- return;
- }
-
- let joinedOrInvitedMemberCount = room.getJoinedMemberCount() + room.getInvitedMemberCount();
- if (countInfluence) joinedOrInvitedMemberCount += countInfluence;
- this.setState({isAlone: joinedOrInvitedMemberCount === 1});
-
- // if they are not alone additionally prompt the user about notifications so they don't miss replies
- if (joinedOrInvitedMemberCount > 1 && Notifier.shouldShowPrompt()) {
+ private checkDesktopNotifications() {
+ const memberCount = this.state.room.getJoinedMemberCount() + this.state.room.getInvitedMemberCount();
+ // if they are not alone prompt the user about notifications so they don't miss replies
+ if (memberCount > 1 && Notifier.shouldShowPrompt()) {
showNotificationsToast(true);
}
}
@@ -1091,14 +1067,6 @@ export default class RoomView extends React.Component {
action: 'view_invite',
roomId: this.state.room.roomId,
});
- this.setState({isAlone: false}); // there's a good chance they'll invite someone
- };
-
- private onStopAloneWarningClick = () => {
- if (localStorage) {
- localStorage.setItem('mx_user_alone_warned_' + this.state.room.roomId, String(true));
- }
- this.setState({isAlone: false});
};
private onJoinButtonClicked = () => {
@@ -1797,12 +1765,10 @@ export default class RoomView extends React.Component {
isStatusAreaExpanded = this.state.statusBarVisible;
statusBar = ;