Skip to content

fix(bulk-editor): load the HelpScout support beacon on the bulk editor page#23453

Merged
FAMarfuaty merged 2 commits into
release/28.1from
bulk-editor/helpscout-beacon
Jul 15, 2026
Merged

fix(bulk-editor): load the HelpScout support beacon on the bulk editor page#23453
FAMarfuaty merged 2 commits into
release/28.1from
bulk-editor/helpscout-beacon

Conversation

@JorPV

@JorPV JorPV commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Context

Fixes plugins-automated-testing#3074: the HelpScout support beacon (the "Chat with us" widget shown on every other Yoast SEO admin page) was not loaded on the bulk editor page. The beacon only renders on an allowlist of admin pages, and the bulk editor page was missing from that list.

Summary

This PR can be summarized in the following changelog entry:

  • Fixes a bug where the HelpScout support beacon was missing on the bulk editor page.

Relevant technical choices:

  • Beacon page allowlist — added Bulk_Editor_Integration::PAGE (wpseo_page_bulk_edit) to HelpScout_Beacon::$base_pages, so is_beacon_page() enqueues the beacon on the bulk editor like every other Yoast admin page. No constructor/DI change.

Test instructions

Test instructions for the acceptance test before the PR gets merged

This PR can be acceptance tested by following these steps:

  1. Open Yoast SEO → Tools → Bulk editor (any content type).
  2. Confirm the HelpScout support beacon (the "Chat with us" / help widget, bottom-right) is present — the same one shown on other Yoast SEO admin pages (Dashboard, Settings, Tools, etc.).

Relevant test scenarios

  • Changes should be tested with the browser console open
  • Changes should be tested on different posts/pages/taxonomies/custom post types/custom taxonomies
  • Changes should be tested on different editors (Default Block/Gutenberg/Classic/Elementor/other)
  • Changes should be tested on different browsers
  • Changes should be tested on multisite

Test instructions for QA when the code is in the RC

  • QA should use the same steps as above.

QA can test this PR by following these steps:

  • Same steps as above.

Impact check

This PR affects the following parts of the plugin, which may require extra testing:

  • The HelpScout beacon page allowlist (HelpScout_Beacon) — one page added; other pages unaffected.

Other environments

  • This PR also affects Shopify.
  • This PR also affects Yoast SEO for Google Docs.

Documentation

  • I have written documentation for this change.

Quality assurance

  • I have tested this code to the best of my abilities.
  • During testing, I had activated all plugins that Yoast SEO provides integrations for.
  • I have added unit tests to verify the code works as intended.
  • If any part of the code is behind a feature flag, my test instructions also cover cases where the feature flag is switched off.
  • I have written this PR in accordance with my team's definition of done.
  • I have checked that the base branch is correctly set.
  • I have run grunt build:images and committed the results, if my PR introduces or edits images or SVGs.

Innovation

  • No innovation project is applicable for this PR.
  • This PR falls under an innovation project. I have attached the innovation label.
  • I have added my hours to the WBSO document.

Fixes Yoast/plugins-automated-testing#3074

@JorPV JorPV added innovation Innovative issue. Relating to performance, memory or data-flow. changelog: non-user-facing Needs to be included in the 'Non-userfacing' category in the changelog labels Jul 14, 2026
@coveralls

coveralls commented Jul 14, 2026

Copy link
Copy Markdown

Coverage Report for CI Build 70714

Coverage increased (+0.02%) to 55.168%

Details

  • Coverage increased (+0.02%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 59 coverage regressions across 3 files.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

59 previously-covered lines in 3 files lost coverage.

File Lines Losing Coverage Coverage
src/bulk-editor/infrastructure/posts/post-meta-posts-collector.php 50 10.81%
src/bulk-editor/user-interface/posts-route.php 5 94.25%
src/bulk-editor/infrastructure/posts/indexable-posts-collector.php 4 93.44%

Coverage Stats

Coverage Status
Relevant Lines: 72098
Covered Lines: 39656
Line Coverage: 55.0%
Relevant Branches: 18748
Covered Branches: 10462
Branch Coverage: 55.8%
Branches in Coverage %: Yes
Coverage Strength: 41742.58 hits per line

💛 - Coveralls

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes a missing HelpScout support beacon on the Bulk editor admin page by adding the Bulk editor page slug to the beacon page allowlist, ensuring the beacon is enqueued there like other Yoast admin pages.

Changes:

  • Add the Bulk editor page (wpseo_page_bulk_edit) to the HelpScout beacon allowlist in HelpScout_Beacon.
  • Add a unit test asserting the Bulk editor page is included in the beacon page map.
  • Adjust Bulk editor app layout spacing (adds a bottom margin on the main content wrapper).

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
src/integrations/admin/helpscout-beacon.php Adds Bulk_Editor_Integration::PAGE to the beacon allowlist so the beacon loads on the Bulk editor page.
tests/Unit/Integrations/Admin/HelpScout_Beacon_Test.php New unit test to guard the allowlist entry for the Bulk editor page.
packages/js/src/bulk-editor/app.js Adds bottom spacing to the Bulk editor content container (UI/layout tweak).

Comment thread packages/js/src/bulk-editor/app.js
@FAMarfuaty

Copy link
Copy Markdown
Contributor

CR & Acceptance: ✅

@FAMarfuaty FAMarfuaty added this to the 28.1 milestone Jul 15, 2026
@FAMarfuaty
FAMarfuaty merged commit 56a64e6 into release/28.1 Jul 15, 2026
40 checks passed
@FAMarfuaty
FAMarfuaty deleted the bulk-editor/helpscout-beacon branch July 15, 2026 07:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog: non-user-facing Needs to be included in the 'Non-userfacing' category in the changelog innovation Innovative issue. Relating to performance, memory or data-flow.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants