Automattic / wp-calypso

The JavaScript and API powered WordPress.com
https://developer.wordpress.com
GNU General Public License v2.0
12.4k stars 1.98k forks source link

User Invites: failure to process invites observed after 15+ consecutive invitations sent #56758

Open worldomonation opened 2 years ago

worldomonation commented 2 years ago

Quick summary

When a user sends out many user invites repeatedly, Calypso can display a message banner stating failure to process the invitation.

Steps to reproduce

  1. start at /people/invites.
  2. click on invite.
  3. enter an email address.
  4. select the following parameters: a. Editor b. Custom message: 'testing'
  5. send invitation.

Repeat this between 15-40 times quickly, either by hand or using a script.

What you expected to happen

Invitations are sent out as user requested them.

What actually happened

Calypso displays an error-type banner with the following text:

Sorry, we couldn't process your invitations. Please try again later.

135598124-f09d0e4c-ca95-4bb8-bb2f-e3b888ff2baf

Full screenshot:

image

https://user-images.githubusercontent.com/6549265/135895745-d2e21b4d-a260-4ef6-80d3-d9a6e1884b4a.mp4

Context

Playwright automated tests

Browser

No response

Simple/Atomic

Simple

Other notes

Playwright error, when the successful banner is not observed:

page.waitForSelector: Timeout 30000ms exceeded.
=========================== logs ===========================
waiting for selector "span:text("Invitation sent successfully")" to be visible
============================================================
at InvitePeoplePage.invite (/home/teamcity-2/buildAgent/work/c4a9d5b38c1dacde/packages/calypso-e2e/src/lib/pages/invite-people-page.ts:55:19)
at runNextTicks (node:internal/process/task_queues:61:5)
at processImmediate (node:internal/timers:437:9)
at Object.<anonymous> (/home/teamcity-2/buildAgent/work/c4a9d5b38c1dacde/test/e2e/specs/specs-playwright/wp-invite__revoke.ts:50:3)

Reproducibility

Intermittent

Severity

No response

Available workarounds?

Yes, easy to implement

Workaround details

Refresh and wait for some time before re-sending out the invitation.

renata-franco commented 2 years ago

I have a user reporting this issue as well. They are trying to invite followers in groups of 10, and they have a list of around 300+ and they are getting an error.

Nic-Sevic commented 2 years ago

Re the above comment: Related P2 here: p2EDhh-1lV-p2 where David found a slack reference to a limit on pending invites: p1454944782009073-slack-C03TY6J1A. I wasn't able to find any other info on this though

I informed the user of this and suggested that inviting via MailPoet or MailChimp might be better option

jerrysarcastic commented 1 year ago

Also reported in https://wordpress.com/forums/topic/invites-not-going-through-2

Strangely this issue has not cleared up after refreshing/waiting, but instead has persisted for many days while we investigated the issue with the site owner. I am able to confirm that if I try to send an invite on their site I see the same error messages.

It seems specific to their site somehow, as invites work normally for me on my test sites.

ClassicRKR27 commented 1 year ago

They're using these invites for a class, so this could potentially be an issue for them in the future as well. They had removed a ton of users a few days prior to the incident as well as removed what looks like hundreds of invites. I suggested that they do their removals and invites in segments, but couldn't really provide concrete information as to how to actually go about this beyond that.

jerrysarcastic commented 1 year ago

Also reported in https://wordpress.com/forums/topic/ajouter-un-utilisateur

I was also able to replicate the issue. I did note that even though the error message is displayed, once you dismiss it and return to /people/invites/ the newly created invite appears as pending, even though the error message indicates the invite was not processed.

Despite the appearance of this phantom invite in Calypso however, no email/notification is sent out the invitee, and there seems to be no way to add them to the site.

zdenys commented 1 year ago

Another case 5658769-zd-woothemes

github-actions[bot] commented 1 year ago

Support References

This comment is automatically generated. Please do not edit it.

inaikem commented 1 year ago

@Automattic/kitkat, this issue's been around for quite a while now and feels like it should have had some developer attention already. Any thoughts on the best team to assign/ping?

jamiepalatnik commented 1 year ago

📌 SCRUBBING : RESULT

📌 ACTIONS

cometgrrl commented 1 year ago

Is this something @Automattic/build can take a look at? If not, we can take it as part of Maintenance rotations.

vindl commented 1 year ago

Is this something https://github.com/orgs/Automattic/teams/build can take a look at? If not, we can take it as part of Maintenance rotations.

@Automattic/caribou is currently looking into this section, so it might be a good fit for them (cc @vishnugopal).

vishnugopal commented 1 year ago

We currently do not have bandwidth to take on this issue, sorry! From past experience working on this, this could be because of a pending invite Bkismet check, which is one of the checks we're planning to remove (for subscriber additions though, so not directly related)

cc @vindl @cometgrrl

danielbachhuber commented 1 year ago

@cometgrrl @inaikem Given we need to have some spam mechanism in place, what's the expected behavior here?

cometgrrl commented 1 year ago

@cometgrrl @inaikem Given we need to have some spam mechanism in place, what's the expected behavior here?

@danielbachhuber I think having spam/rating limiting is fine, but the two points below are concerning and I would focus this issue on fixing these and possibly looking at better wording on the error message (or text up front about how many invites you can send at a time).

... persisted for many days while we investigated the issue with the site owner. I am able to confirm that if I try to send an invite on their site I see the same error messages.

... once you dismiss it and return to /people/invites/ the newly created invite appears as pending, even though the error message indicates the invite was not processed.

Despite the appearance of this phantom invite in Calypso however, no email/notification is sent out the invitee, and there seems to be no way to add them to the site.