Open
Conversation
Two endpoints baked into the source had been disabled upstream: - includes/admin-plugins.php — Vue-driven plugin-deactivation feedback poll on wp-admin/plugins.php. Localized the Zapier URL as WrpaDisablePoll.url and POSTed deactivation reason + addon list to it. The Zap is gone, so the modal was a no-op that still made the URL discoverable in shipped source. - includes/functions.php — wprss_sub_to_newsletter() POSTed name + email to a different Zapier hook from the post-activation intro page. That Zap is also gone. Drop admin-plugins.php and its Vue/SCSS sources entirely. The feature was tied to the dead endpoint and the `Deactivate` link on the plugins page now works as core WordPress intends — no modal, no follow-up prompt. Also remove the `plugins` entry from webpack/webpack.vue.js so plugins.min.js / plugins.min.css are no longer built. Keep wprss_sub_to_newsletter() but route the URL through a new `wprss_newsletter_subscribe_url` filter that defaults to empty. When empty, the function returns false without making a request and logs an info message. Callers (admin-intro-page.php) ignore the return value and continue to show the success message, so end-user UX is unchanged from the current state. Sites that want to wire a new endpoint can hook the filter.
Collaborator
Author
|
This is the source-level fix for the same issue tracked in the v5 monorepo at RebelCode/wpra#649 (build-pipeline patch tracker at RebelCode/wpra#677). Once this lands on |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two Zapier webhook URLs were hardcoded into the plugin source:
includes/admin-plugins.php:29— POSTed plugin-deactivation reason + installed-addon list from a Vue feedback modal onwp-admin/plugins.phpincludes/functions.php:409(wprss_sub_to_newsletter) — POSTedname+emailfrom the post-activation newsletter signup formBoth upstream Zaps have been deactivated, so the URLs are dead in production. They remain visible in shipped source though, which is what this PR cleans up.
What's removed
includes/admin-plugins.phpand its Vue source (js/src/modules/plugins/,css/src/plugins/). The feedback modal was the only consumer of the URL and the only purpose of the file. With the Zap gone, the modal was a no-op that submitted to a dead endpoint. Removing it makesDeactivateon the plugins page work the way core WordPress intends — direct deactivation, no modal, no follow-up prompt.pluginsentry fromwebpack/webpack.vue.jssoplugins.min.js/plugins.min.cssare no longer built.require_once(WPRSS_INC . 'admin-plugins.php')line fromwp-rss-aggregator.php.What stays
wprss_sub_to_newsletter($name, $email)is kept. The hardcoded Zapier URL is replaced with a filter (wprss_newsletter_subscribe_url) that defaults to an empty string. When empty, the function returns false without making a request and logs an info message. Callers (admin-intro-page.php) ignore the return value and still show the success notice, so end-user UX is the same.This way the function still has somewhere to land if a new endpoint is wired in later, but the dead URL doesn't ship.
Testing
php -lpasses onincludes/functions.phpandwp-rss-aggregator.php.grep -rn "hooks.zapier" --include="*.php" --include="*.js" --include="*.scss" .returns no matches.grep -rn "admin-plugins\|wpra-plugins\|plugins.min" --include="*.php" --include="*.js" .returns no matches.Notes