about summary refs log tree commit diff
diff options
context:
space:
mode:
authorClaire <claire.github-309c@sitedethib.com>2023-01-23 13:21:50 +0100
committerGitHub <noreply@github.com>2023-01-23 13:21:50 +0100
commit98779535fe46b3100b46c37f5d423f672b57f756 (patch)
tree2f1b68c540c4e793ec72c8da82a449b60d468efc
parent77c2ea1f0f77fee988a0b9c9fdf2b6de784d22f4 (diff)
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
-rw-r--r--app/javascript/mastodon/features/notifications/components/notification.js21
-rw-r--r--app/javascript/mastodon/features/notifications/containers/notification_container.js2
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 ea2c9c0a4..746d085c6 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 8bd5b3d78..8c5688acb 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,
     };
   };