Repository navigation
feat: opt into the ThemeIsle SDK Support Hub - #1403
Open
HardeepAsrani wants to merge 3 commits into
Open
HardeepAsrani wants to merge 3 commits into
HardeepAsrani wants to merge 3 commits into
Conversation
Registers the visualizer_support_hub_metadata filter so the SDK shows one Help button on the Chart Library, Settings and Support screens, a setup nudge while the site has no chart, and the new deactivation window on the Plugins screen. The Settings screen now fires themeisle_internal_page like the other two screens. Visualizer Pro registers nothing: it has no admin screens of its own, so the free plugin owns the hub and reports is_pro from the Pro license. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Contributor
pirate-bot
requested changes
Nov 2, 2026
Contributor
There was a problem hiding this comment.
🟡 Changes requested
Declare the exact callable type of setup_complete in the metadata docblock. The logic and tests otherwise check out.
Validation details
- Files reviewed: 3/3 changed files. One history row stayed unchecked: "PHP Fatal error: Uncaught Error: Cannot unset string offsets".
- New PHPUnit class at HEAD:
mkdir -p /workspace/checks/C3; cd /repo && set -o pipefail; timeout 280 phpunit --do-not-cache-result --filter 'Test_Vis…printedOK (6 tests, 26 assertions)(run R3) - On the pr-base tree, the Settings test fails on its assertion. The action never fires there.
- The metadata shape matches the Support Hub in ThemeIsle SDK v3.3.69. The locked v3.3.68 has no Support Hub, so the filter stays inert until the SDK bump.
- The Settings screen now also counts as a product screen for the SDK survey, announcements and AI Connect modules.
Untested areas
- The Help button, setup nudge and deactivation window need SDK v3.3.69 or later. This PR does not bundle it.
- "PHP Fatal error: Uncaught Error: Cannot unset string offsets": the old failure path was not traced against the new code.
- The Playwright suite was not run. JavaScript dependencies are absent.
🤖 Automated review · run code-review-agent_6ae8b79c7b1323.79354433.
🤖 Review agent — review posted ✅ on 2ec5b492 · changes requested · 1 finding · 20 min
Run code-review-agent_6ae8b79c7b1323.79354433 · trail
pirate-bot
approved these changes
Nov 2, 2026
Contributor
There was a problem hiding this comment.
🟢 Approved
The PR passes: the setup_complete callable type is now declared exactly, and the new commit adds no new problem.
Validation details
- Files reviewed: 3/3 changed files. The one commit since the last review changes only
index.php. - The
@returnshape atindex.php:289matches the callback, which takes no arguments and returnsbool. - The new
license_namespacevaluevisualizermatches the license filters the plugin already reads,product_visualizer_license_*. - PHPUnit result
OK (6 tests, 26 assertions)comes from run code-review-agent_6ae8b79c7b1323.79354433 at2ec5b49, not rerun. The commit since does not touch the tests.
Untested areas
- The SDK branch that reads
license_namespaceis not public. Its expected value is unverified. SDK v3.3.69 does not read the key. - The Help button, setup nudge and deactivation window need an SDK with the Support Hub. This PR does not bundle it.
- The Playwright suite was not run. JavaScript dependencies are absent.
🤖 Automated review · run code-review-agent_6ae8bd19769185.06986018.
🤖 Review agent — review posted ✅ on 054efd78 · approved · 0 findings · 10 min
Run code-review-agent_6ae8bd19769185.06986018 · trail
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
Makes Visualizer the first product to opt into the SDK's Support Hub (Codeinwp/themeisle-sdk-main#353, tracks Codeinwp/themeisle#2096): one floating Help button on the plugin's admin screens opening a short contact form, "Get help with this" links on red notices, and the new deactivation window on the Plugins screen.
index.php: registersvisualizer_support_hub_metadatawithis_pro(fromVisualizer_Module::is_pro()) and Docs and Forum footer links. The setup nudge (setup_complete) is left out for now and can be added later.Admin.php: the Settings screen now firesthemeisle_internal_pagelike the Library and Support screens, so the SDK treats it as a product screen and nopageslist is needed.tests/test-support-hub.php: covers the contract keys, the links,is_profollowing thevisualizer_is_profilter, and the Settings screen firing the action.Depends on
The SDK release that includes the Support Hub module. The bundled SDK is unchanged here; the
composer.jsonconstraint will be bumped once that release exists. Until then this filter is inert.Verified
Against the
feat/support-hubSDK branch on a local site, with delivery in dry-run mode:product: visualizer, the correctplan, and the two links in the footer.is_prois true and the payload reportsplan: pro.composer lint,composer phpstanand PHPUnit pass. The e2e admin spec has 8 pre-existing failures that are identical ondevelopment.🤖 Generated with Claude Code