-
Notifications
You must be signed in to change notification settings - Fork 69
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Negative feedback modal for 2025 Feedback campaign #10421
base: develop
Are you sure you want to change the base?
Conversation
Test the buildOption 1. Jetpack Beta
Option 2. Jurassic Ninja - available for logged-in A12s🚀 Launch a JN site with this branch 🚀 ℹ️ Install this Tampermonkey script to get more options. Build info:
Note: the build is updated when a new commit is pushed to this PR. |
Size Change: 0 B Total Size: 1.29 MB ℹ️ View Unchanged
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Had a quick look through the code. Looks reasonable for now, can review / test more extensively when ready/final.
The main feedback now is that we need to manage the external dependency on the survey URL, and graceful handling if it's broken/MIA etc.
'WooPayments Disable Survey', | ||
'woocommerce-payments' | ||
) } | ||
src="https://automattic.survey.fm/woopayments-feedback-campaign-h1-2025" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We'll need to keep track of this survey and manage it alongside the campaign - i.e. it's an external dependency.
Is it possible to build the modal in such a way that if the survey disappears/breaks the modal / experience is not bad?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had a brief dive into iframe error handling here, but I couldn't find a reliable way to check if the iframe loaded the survey correctly:
- CORS doesn't allow us to call the URL directly and inspect the response status 200
- CORS doesn't allow us to inspect the content of the frame (e.g. check response status or "Page not found")
- The iframe will think it has loaded successfully, even if it is a "Page not found"
AFAICT Crowdsignal for surveys (text fields) is limited to iframes. The API supports voting and polls only.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At least if we check from the Crowdsignal end we can hopefully find out if we are generating a bunch of 404 experiences. Either way we can manage this manually.
thanks @Jinksi I've updated the styles and the survey to remove some of the padding. |
Fixes #10328
Changes proposed in this Pull Request
Add the
NegativeFeedbackModal
as part of #10323This modal should be shown when the Merchant is unhappy with WooPayments. This flow will allow us to capture constructive feedback to help improve the product.
The implementation differs from the design in #10328. Rather than creating the survey and submitting inside WooPayments, the survey is hosted by Crowdsignal which allows feedback to flow into our current internal tools.
The excess whitespace comes from Crowdsignal, inside the
<iframe>
. This can be altered by adjusting the CSS on the Survey.Note
This PR has some issues with the height in mobile view.
Testing instructions
npm run changelog
to add a changelog file, choosepatch
to leave it empty if the change is not significant. You can add multiple changelog files in one PR by running this command a few times.Post merge