SDRefugeeTutoring / sdrt-custom-functions

Custom Functions for SDRefugeeTutoring.com
The Unlicense
2 stars 0 forks source link

Volunteer RSVPs are not always properly stored #67

Closed JasonTheAdams closed 2 years ago

JasonTheAdams commented 2 years ago

This is an issue reported by @dreazee.

Description

There is an inconsistency with Volunteers RSVPing for an event. It always appears to work, but an RSVP is not actually generated. Unfortunately this issue seems to be sporadic, working some times and no others.

Reported Examples

Well, I experienced that first-hand today while switching to another user (Karen Ladner) who was having problems RSVP'ing for March. Under Karen's User Account, RSVPs were submitted to multiple dates (5), and with each instance the Confirmation Message was seen that replaces the RSVP form after the RSVP submission. Info@ did not receive a confirmation email for 2 of the 5 dates (March 8 and 10) and to my surprise, those dates truly didn't have an active RSVP from Karen Ladner!

Other users this has happened to is Todd Stone (no issues the 2nd time he tried to RSVP to multiple sessions), Jennifer Saber (multiple times) and Amy Eppert (fixed on her second lap around the calendar). Karen Ladner had some holes in her schedule so I contacted her about it and then had issues t the 2nd time around. That was when I stepped in and switched to her user profile to complete the rsvp process so she didn't need to deal with it again. Then I had issues. Oh boy.

JasonTheAdams commented 2 years ago

On my local machine I switched to Karen's user and RSVP'd to four events. I received an email for each RSVP and see them in the RSVP list. Obviously the issue is happening, this just means it's not going to be easy to reproduce the problem.

I also checked the Error Logs on WP Engine (the host), and I'm not seeing any errors at all.

I will keep an eye on Sentry over the next couple days to see if any errors show up in there.

JasonTheAdams commented 2 years ago

I've enabled additional error logging on the production server. I'll keep an eye on this log as well to see if it can give us any further clues.

dreazee commented 2 years ago

Yes this is very strange, indeed. A little backstory:

  1. After her first pass early January, Karen Ladner tried to fill in her missing RSVPs on Tue, Jan 25 around 7:27 PM: Jan 27, Feb 01, Feb 03, Feb 08, Feb 10, March 01, March 03, March 08, March 10. Those last 3 were unsuccessful.
  2. I then switched to Karen's User and RSVP'd on Wed, Jan 26, 1:42 PM to: Jan 20, Jan 25, March 03, March 08, and March 10. The last 2 dates were unsuccessful.
  3. Wed, Jan 26, 1:52 PM, still under Karen's name, I RSVP'd for March 08 & March 10 successfully.

Perhaps trying at least 6 dates at a time, preferably 10 might replicate this issue...

Another use Amy Eppert, Tried to RSVP to all of our Winter trimester tutoring dates (19, I think?) at one time on Jan 9 but only 6 were successful. Then on Jan 10 tried to RSVP to the remaining events but only 6 were successful. The remaining dates I will try to RSVP for her: Jan 27, Feb 1, Feb 3, Feb 24, March 10, March 15, and March 17.

JasonTheAdams commented 2 years ago

Hi @dreazee!

Thank you for the additional information. I looked into Sentry and the additional logging, and unfortunately I'm not seeing anything related to this. It's possible that no one has had any issues RSVPing in the past couple day, so I'll keep on checking back.

I'll try removing all the RSVPs for one of the years you're describing (from my local, of course), and then adding them back to see if that reproduces the issue. Are you able to give me any details — however small — for when a user tries to RSVP "at one time"? Is it from a desktop? Phone? Do you know which browser? Do they open up all the events in multiple tabs and click through them, or do they move along from one event to the next all in a single tab? I don't expect you to have all this information, but the more the better.

I'll also try reaching out to Gravity Forms support to see if they've heard of this issue.

dreazee commented 2 years ago

Hey @JasonTheAdams! Only thing I can tell you regarding more additional information is that one user (Jennifer Saber) for sure moved through the elementary school dates using the event pages (not by using the calendar) in a single tab, skipping the middle school event pages.

I can get more data from people via email but this will take time. But if there isn't anything seen that can be fixed, would it be a better course of action to just look ahead to the future and building out our Volunteer Portal where people can RSVP from there? Or would there be a good chance that this issue/glitch would just be replicated on that platform, too, since we'd still be using gravity forms... ?

JasonTheAdams commented 2 years ago

Thanks for the additional information! I just shot off a support email to Gravity Forms, so we'll keep digging and see what we learn. The issue must pop up somewhere and at some point. We'll find it.

I wish we could just throw together a Volunteer Portal, but I'm afraid that is a project in itself that will require design, development, and approval. It would indeed be another way of giving folks a way to RSVP, but we'd first have to imagine what that would even look like. All that to say, I believe it would take much more time to build that then it would to get to the bottom of this issue. 😃

dreazee commented 2 years ago

@JasonTheAdams There seems to be cross-contamination of the RSVP form and the Contact form! While being switched to User Hannah Song (FIREFOX BROWSER), I RSVP'd to 3 events and on the 4th event I received the Contact Form submission confirmation message (see below) instead of the RSVP confirmation message! This happened last night around 8 p.m., I think, for the Feb 22 MS/HS event date. Maybe there's a log of that? I refreshed the page and tried to RSVP 3 different times and received the same message all 3 times with no RSVP being logged. Screenshot (2) !

CORRECTION: I just tested the Contact Form submission confirmation message and it is different (see below)!! AHHH! The plot thickens... Screenshot (3)

JasonTheAdams commented 2 years ago

Ohhh! The plot does thicken. That's some great sleuthing, @dreazee!

After some looking into what forms would produce that message, there were two that I found which could do it:

I'm pretty sure we're not using the Log In form anymore, and I'm not sure why the Minor Registration form would suddenly show up. To clear up which one is in fact happening there, I've updated the confirmation message of both forms to better fit their context. So the next time you see this happen we will at least see which form is popping up in its place and can dig further.

Great efforts! We'll figure this out! 💪

JasonTheAdams commented 2 years ago

Also, just to be clear, it looks like you eventually were able to RSVP for Hannah for February 22nd. Did it just eventually work? Did you do anything different?

JasonTheAdams commented 2 years ago

Ohhh! I think I'm onto something here! Check this out from the Gravity Forms logs:

2022-02-03 10:06:50.003294 - DEBUG --> GFFeedAddOn::maybe_process_feed(): Entry #4558 is marked as spam; not processing feeds for gravityformsadvancedpostcreation. 
2022-02-03 10:07:19.465914 - DEBUG --> GFFeedAddOn::maybe_process_feed(): Entry #4559 is marked as spam; not processing feeds for gravityformsadvancedpostcreation. 
2022-02-03 10:07:55.717598 - DEBUG --> GFFeedAddOn::maybe_process_feed(): Entry #4560 is marked as spam; not processing feeds for gravityformsadvancedpostcreation. 
2022-02-03 10:09:24.888343 - DEBUG --> GFFeedAddOn::maybe_process_feed(): Entry #4561 is marked as spam; not processing feeds for gravityformsadvancedpostcreation.

Right in the timeframe of submitting Hannah's RSVPs these lines showed up. Coincidence? I don't think so. You've said this issue only happens when folks RSVP to a bunch of events at once. I think Gravity Forms sees the rapid submissions and interprets that as someone spamming our forms. It then gets sneaky and provides a generic "thank you" response, so the spammer thinks it's working, but it actually is just ignoring the entry.

I've shared this with Gravity Forms support, so we'll see how we can lighten up the spam detection (at least for that form) and test this out. I'm 90% sure we've found the problem. It also explains why it's so hard to reproduce! 🕵️🕵️‍♀️

JasonTheAdams commented 2 years ago

Hi @dreazee!

I've done a thing. It turns out that Gravity Forms uses a service called Akismet (which we have installed, and have for years) that is for helping to identify and block spam. Most of the time it's great. But, as aforementioned, it's been a bit overzealous for RSVPs. So, I've gone ahead and disabled Akismet for only the RSVP form. The way I look at it, it's the only form that's sensible for a user to be submitting with that rapidity. All the other forms (e.g. registration) or much more one off, and take longer to fill out. Also, the RSVP form is only visible if the user is logged in, so that's a huge form of prevention.

If, down the road, we somehow start getting a lot of spam, we can add a Captcha or something to the form. But I really don't think that will be an issue.

Please monitor the situation for a couple weeks and let me know if you see any further issues. I'm 90% sure this will resolve the issue, so I'm going to close this Issue. Please comment here if you see the problem repeat and we'll reopen this Issue to continue the quest.

dreazee commented 2 years ago

This is all so awesome @JasonTheAdams!!! We make a great team!

In case you were still interested in what I did differently to RSVP for Hannah... I switched to my account, switched back to her account and it STILL didn't work. I then tried to RSVP while logged into my account, and that didn't work, either. I ended up opening a new Firefox window and was able to RSVP from there. I wonder if the new window is just circumstantial and enough time had lapsed to allow someone to RSVP again. REGARDLESS, I'm so glad we figured this out! I have some mass RSVPs to tackle for a few users so I'll be able to test it out soon and let you know what happens!