Automattic / Automattic/jetpack

Feature Improvement: Throttle multiple consecutive Likes

Open
#11,969 1 comment 0 reactions 0 assignees View on GitHub
[Feature] Sharing [Pri] Normal Enhancement
Dominant language
PHP
Stars
1.8k
Forks
898
Avg merge
1d 18h
Merged PRs (30d)
774

Description

Currently, if you were to toggle the Like button found in Jetpack's sharing buttons, a 'Like' notification is sent to the site owner's email and mobile device (if applicable) for each individual Like. This can be a vector for spam/harrassment.

#### Steps to reproduce the issue

1. Go to any test site with Sharing enabled.
2. Click on Like
3. Click on Like again to deselect it
4. Repeat steps 2 and 3 as many times as you need

#### What I expected
I expected that consecutive Likes on the same post by the same user would result in some form of lock out message, such as is seen with comments

#### What happened instead
In my tests, I am able to repeatedly spam the Like button and send as many notifications as I like to the site owner.

**Screenshots**
Screenshot of email notifications
![Like Spam](https://user-images.githubusercontent.com/16580129/55744778-b768a100-5a03-11e9-9069-cfb1ea5c8df4.png)

#### Potential Fix
Perhaps some sort of lock out after consecutive Likes

![like_spam_fix](https://user-images.githubusercontent.com/16580129/55745257-cbf96900-5a04-11e9-999c-37093639dd0f.png)

Contributor guide

Open the contributing guide

Research direction

Start at Jetpack's Sharing Like button and follow the existing email and mobile notification flow for repeated toggles. The issue names no files or tests; define the lockout behavior and verify that consecutive Like and unlike actions no longer produce unbounded notifications.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend, frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.