Skip to content

Editable content ID field#500

Merged
galbus merged 39 commits intomainfrom
s-8265-editable-inspect-panel-fields
Apr 5, 2026
Merged

Editable content ID field#500
galbus merged 39 commits intomainfrom
s-8265-editable-inspect-panel-fields

Conversation

@galbus
Copy link
Copy Markdown
Contributor

@galbus galbus commented Mar 14, 2026

This pull request introduces the new "Content ID" feature, allowing users to input and fetch audio metadata by Content ID directly from both the editor and the classic metabox. It also includes several enhancements, bug fixes, and version updates in preparation for the 6.3.0-rc.1 release.

New Feature: Content ID

  • Added a new ContentId PHP component (ContentId.php) and a supporting JavaScript file (classic-metabox.js) to provide a Content ID field in the post metabox, enabling users to fetch and update audio metadata by Content ID. This includes nonce validation, REST API integration, and UI updates. [1] [2]

Enhancements and Fixes

  • Bumped the BeyondWords Player block apiVersion from 2 to 3 to address failing Plugin Check jobs in CI.
  • Updated the Cypress test configuration to add a helper for fetching post meta via WP-CLI.
  • Minor UI improvement: added a horizontal rule to the document settings panel for better section separation.

Version and Documentation Updates

  • Updated the plugin version to 6.3.0-rc.1 in package.json, readme.txt, and speechkit.php, and updated the stable tag and changelog to reflect the new release and features. [1] [2] [3] [4] [5]

Build/CI

  • Set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 environment variable in the GitHub Actions workflow to ensure compatibility with Node 24.

Other Minor Updates

  • Refactored block registration code for clarity in src/Component/Post/AddPlayer/index.js. [1] [2]

@galbus galbus self-assigned this Mar 14, 2026
@linear
Copy link
Copy Markdown

linear bot commented Mar 14, 2026

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 14, 2026

✅ WordPress Plugin Check Report

✅ Status: Passed

📊 Report

All checks passed! No errors or warnings found.


🤖 Generated by WordPress Plugin Check Action • Learn more about Plugin Check

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

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 adds an editable “Content ID” field (with a Fetch action) to both the Block Editor sidebar panels and the Classic Editor metabox, enabling users to retrieve and apply BeyondWords content metadata to post meta by Content ID. It also extends the test/mocking infrastructure to support the new fetch flow and verifies behavior via PHPUnit and Cypress E2E tests.

Changes:

  • Add a new Content ID UI + fetch behavior for the Block Editor (React component) and Classic Editor (PHP metabox + jQuery).
  • Wire the new UI into existing editor panels and plugin initialization.
  • Expand mock API responses and add new PHPUnit + Cypress E2E coverage for fetch success/error and persistence.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
src/Plugin.php Initializes the new ContentId component on post screens.
src/Component/Post/Panel/Player/index.js Adds ContentId UI into the Player panel.
src/Component/Plugin/Panel/DocumentSetting/index.js Adds ContentId UI into the Document settings panel.
src/Component/Post/Metabox/Metabox.php Renders ContentId field in the Classic Editor metabox.
src/Component/Post/ContentId/index.js Implements the Block Editor Content ID input + Fetch behavior.
src/Component/Post/ContentId/ContentId.php Implements Classic Editor metabox rendering, script enqueue, and save handling.
src/Component/Post/ContentId/classic-metabox.js Implements Classic Editor Fetch + meta update workflow via REST calls.
tests/phpunit/Component/Post/ContentId/ContentIdTest.php Adds unit tests for init/render/save behavior of the new component.
tests/cypress/e2e/block-editor/content-id.cy.js Adds E2E coverage for Content ID UI and fetch flows in the Block Editor.
tests/fixtures/wp-content/plugins/beyondwords-mock-rest-api-responses/mock-rest-api-responses.php Adds mock support for GET content-by-ID.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

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 adds an editable Content ID field to the BeyondWords WordPress plugin so users can enter a Content ID and fetch/sync audio metadata from BeyondWords in both the block editor UI and the classic editor metabox. It also bumps the plugin version to 6.3.0-rc.1, updates docs/changelog, and expands automated tests/fixtures to cover the new flow.

Changes:

  • Introduce a new Content ID component (PHP + JS) with “Fetch” behavior and wire it into the post editing experience (block editor + classic metabox).
  • Add/adjust Cypress and PHPUnit coverage and extend mock REST fixtures for fetching content by ID.
  • Bump plugin/package versions and update workflow/dependencies (notably composer.lock) and block apiVersion.

Reviewed changes

Copilot reviewed 24 out of 25 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
tests/phpunit/Component/Post/ContentId/ContentIdTest.php New PHPUnit tests for rendering/saving Content ID metabox element.
tests/fixtures/wp-content/plugins/beyondwords-mock-rest-api-responses/mock-rest-api-responses.php Adds mock route/handler for GET projects/:projectId/content/:contentId.
tests/cypress/support/commands.js Adds iframe-aware editor canvas helper; updates commands to work across WP versions.
tests/cypress/e2e/classic-editor/content-id.cy.js New Cypress spec verifying classic metabox Content ID UI + fetch behavior.
tests/cypress/e2e/block-editor/content-id.cy.js New Cypress spec verifying block editor Content ID UI + fetch/meta persistence.
src/Plugin.php Initializes the new ContentId PHP component.
src/Component/Settings/Fields/PlayerUI/index.js Minor JS cleanup (remove unused callback arg).
src/Component/Settings/Fields/Language/index.js Uses beyondwordsData for voices endpoint; lint rule suppressions for max-len/log.
src/Component/Post/Panel/Player/index.js Adds Content ID UI to the Player panel and adjusts layout ordering.
src/Component/Post/Panel/Inspect/index.js Removes the old Fetch button integration from Inspect panel and adds lint suppressions.
src/Component/Post/Panel/Inspect/fetch/index.js Removes the legacy “Fetch Content” modal/button implementation.
src/Component/Post/Panel/Help/index.js Refactors long strings/URL for readability/line-length.
src/Component/Post/Metabox/Metabox.php Renders Content ID field in classic metabox; adjusts embed target container.
src/Component/Post/ContentId/index.js New block-editor Content ID React component implementing fetch + meta updates.
src/Component/Post/ContentId/classic-metabox.js New classic editor JS for Content ID fetch + REST meta update.
src/Component/Post/ContentId/ContentId.php New PHP component: render metabox field, enqueue classic script, save meta on post save.
src/Component/Post/AddPlayer/index.js Minor edit function refactor (named function).
src/Component/Post/AddPlayer/block.json Bumps block apiVersion to 3.
src/Component/Plugin/Panel/DocumentSetting/index.js Adds a divider (<hr />) to the Document Settings panel layout.
speechkit.php Bumps plugin header and constant version to 6.3.0-rc.1.
readme.txt Updates stable tag and changelog with the Content ID feature + apiVersion note.
package.json Bumps package version to 6.3.0-rc.1.
cypress.config.js Adds a Cypress task to read post meta via WP-CLI (getPostMeta).
composer.lock Updates locked PHP dependencies (Symfony, PSR, etc.).
.github/workflows/main.yml Sets FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 env var for CI.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

galbus and others added 4 commits March 24, 2026 07:56
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 24 out of 25 changed files in this pull request and generated 4 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 24 out of 25 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@galbus galbus mentioned this pull request Apr 1, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 26 out of 27 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants