Since activity hide only affects the current user, it helps respect users' content preferences. If an activity contains harmful information, moderation should be used to mitigate the situation.
When an activity is hidden, activity.hidden flag will be set to true. Hidden activities won't be returned when reading feeds, but they can still be queried with the proper filters.
SDKs won't remove activities from the feed on feeds.activity.feedback event, but hidden flag will be updated.
Stream's feeds API tracks a user's interest automatically based on the user's interactions. But users can also provide feedback requesting more or less content from different topics.
To use this functionality, you need to have ranking configured for your feeds. Show more/less feedback works by using only the interest_tags of the activity. When a user provides feedback, the system uses the activity's interest_tags to identify similar content and adjust the ranking accordingly. Activities with interest_tags that have strong dislike will be filtered out from the feed. Other activities will be included in ranking depending on the user's activity feedback.
You can use preference_score in your ranking expressions to incorporate user preferences based on activity feedback. See the Ranking documentation for an example.
When a user requests to see more content similar to an activity, the feed algorithm will prioritize showing similar content in future feed reads.
It's possible to undo show more/less feedback by setting the value to false:
// Undo show more feedbackawait client.activityFeedback({ activity_id: "activity_123", show_more: false,});// Undo show less feedbackawait client.activityFeedback({ activity_id: "activity_123", show_less: false,});
// Undo show more feedbackawait client.activityFeedback({ activity_id: "activity_123", show_more: false,});// Undo show less feedbackawait client.activityFeedback({ activity_id: "activity_123", show_less: false,});
// Undo show more feedbackawait client.activityFeedback({ activity_id: "activity_123", show_more: false,});// Undo show less feedbackawait client.activityFeedback({ activity_id: "activity_123", show_less: false,});
// Undo show more feedbackclient.activityFeedback( activityId = "activity123", request = ActivityFeedbackRequest(showMore = false))// Undo show less feedbackclient.activityFeedback( activityId = "activity123", request = ActivityFeedbackRequest(showLess = false))
// Undo show more feedbackawait client.feeds.activityFeedback({ activity_id: "activity_123", show_more: false, user_id: "jane",});// Undo show less feedbackawait client.feeds.activityFeedback({ activity_id: "activity_123", show_less: false, user_id: "jane",});
SDKs won't perform a state update on feeds.activity.feedback event. If you need a special UI for this action, you can subscribe to this event on the feed/client level with the on method.
The show more/less feedback affects the ranking and relevance of future activities in the user's feed. The changes take effect gradually as the feed algorithm learns from the user's preferences.