From 98779535fe46b3100b46c37f5d423f672b57f756 Mon Sep 17 00:00:00 2001 From: Claire <claire.github-309c@sitedethib.com> Date: Mon, 23 Jan 2023 13:21:50 +0100 Subject: [PATCH] Fix missing filtering on some notification types (#23211) * Fix missing warning-type filtering on some notification types * Fix missing hide-type filtering on some notification types --- .../notifications/components/notification.js | 21 ++++++++++++++++--- .../containers/notification_container.js | 2 +- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/app/javascript/mastodon/features/notifications/components/notification.js b/app/javascript/mastodon/features/notifications/components/notification.js index ea2c9c0a42..746d085c6e 100644 --- a/app/javascript/mastodon/features/notifications/components/notification.js +++ b/app/javascript/mastodon/features/notifications/components/notification.js @@ -246,7 +246,11 @@ class Notification extends ImmutablePureComponent { } renderStatus (notification, link) { - const { intl, unread } = this.props; + const { intl, unread, status } = this.props; + + if (!status) { + return null; + } return ( <HotKeys handlers={this.getHandlers()}> @@ -264,6 +268,7 @@ class Notification extends ImmutablePureComponent { <StatusContainer id={notification.get('status')} account={notification.get('account')} + contextType='notifications' muted withDismiss hidden={this.props.hidden} @@ -278,7 +283,11 @@ class Notification extends ImmutablePureComponent { } renderUpdate (notification, link) { - const { intl, unread } = this.props; + const { intl, unread, status } = this.props; + + if (!status) { + return null; + } return ( <HotKeys handlers={this.getHandlers()}> @@ -296,6 +305,7 @@ class Notification extends ImmutablePureComponent { <StatusContainer id={notification.get('status')} account={notification.get('account')} + contextType='notifications' muted withDismiss hidden={this.props.hidden} @@ -310,10 +320,14 @@ class Notification extends ImmutablePureComponent { } renderPoll (notification, account) { - const { intl, unread } = this.props; + const { intl, unread, status } = this.props; const ownPoll = me === account.get('id'); const message = ownPoll ? intl.formatMessage(messages.ownPoll) : intl.formatMessage(messages.poll); + if (!status) { + return null; + } + return ( <HotKeys handlers={this.getHandlers()}> <div className={classNames('notification notification-poll focusable', { unread })} tabIndex='0' aria-label={notificationForScreenReader(intl, message, notification.get('created_at'))}> @@ -334,6 +348,7 @@ class Notification extends ImmutablePureComponent { <StatusContainer id={notification.get('status')} account={account} + contextType='notifications' muted withDismiss hidden={this.props.hidden} diff --git a/app/javascript/mastodon/features/notifications/containers/notification_container.js b/app/javascript/mastodon/features/notifications/containers/notification_container.js index 8bd5b3d782..8c5688acba 100644 --- a/app/javascript/mastodon/features/notifications/containers/notification_container.js +++ b/app/javascript/mastodon/features/notifications/containers/notification_container.js @@ -24,7 +24,7 @@ const makeMapStateToProps = () => { const notification = getNotification(state, props.notification, props.accountId); return { notification: notification, - status: notification.get('status') ? getStatus(state, { id: notification.get('status') }) : null, + status: notification.get('status') ? getStatus(state, { id: notification.get('status'), contextType: 'notifications' }) : null, report: notification.get('report') ? getReport(state, notification.get('report'), notification.getIn(['report', 'target_account', 'id'])) : null, }; };