Skip to content

Bug/#12185 - Refactor content policy status settings in RRM#12318

Open
hussain-t wants to merge 34 commits intodevelopfrom
bug/#12185-rrm-content-policy-status-type
Open

Bug/#12185 - Refactor content policy status settings in RRM#12318
hussain-t wants to merge 34 commits intodevelopfrom
bug/#12185-rrm-content-policy-status-type

Conversation

@hussain-t
Copy link
Copy Markdown
Collaborator

@hussain-t hussain-t commented Mar 16, 2026

Summary

Addresses issue:

Relevant technical choices

PR Author Checklist

  • My code is tested and passes existing unit tests.
  • My code has an appropriate set of unit tests which all pass.
  • My code is backward-compatible with WordPress 5.2 and PHP 7.4.
  • My code follows the WordPress coding standards.
  • My code has proper inline documentation.
  • I have added a QA Brief on the issue linked above.
  • I have signed the Contributor License Agreement (see https://cla.developers.google.com/).

Do not alter or remove anything below. The following sections will be managed by moderators only.

Code Reviewer Checklist

  • Run the code.
  • Ensure the acceptance criteria are satisfied.
  • Reassess the implementation with the IB.
  • Ensure no unrelated changes are included.
  • Ensure CI checks pass.
  • Check Storybook where applicable.
  • Ensure there is a QA Brief.
  • Ensure there are no unexpected significant changes to file sizes.

Merge Reviewer Checklist

  • Ensure the PR has the correct target branch.
  • Double-check that the PR is okay to be merged.
  • Ensure the corresponding issue has a ZenHub release assigned.
  • Add a changelog message to the issue.

Update to use new content policy state and policy info link as individual settings.
…nd policyInfoLink values after synchronization.
… content policy status migration and database version updates.
…te and policyInfoLink into distinct settings.

Remove getContentPolicyState manual selector.
…cyInfoLink validation, including new invariant error checks.
…lude contentPolicyState and policyInfoLink as an object.
…olicyState and policyInfoLink, removing contentPolicyStatus object for clarity.
…State and policyInfoLink, removing the contentPolicyStatus object for improved clarity.
… policyInfoLink, removing the contentPolicyStatus object.
…olicyInfoLink, removing the contentPolicyStatus object.
…icyState and policyInfoLink, removing the contentPolicyStatus object for improved clarity.
@github-actions
Copy link
Copy Markdown

Storybook is ready:

@github-actions
Copy link
Copy Markdown

Build files for 4433218 are ready:

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 16, 2026

Size Change: 0 B

Total Size: 2.31 MB

ℹ️ View Unchanged
Filename Size Change
dist/assets/blocks/reader-revenue-manager/block-editor-plugin/editor-styles.css 124 B 0 B
dist/assets/blocks/reader-revenue-manager/block-editor-plugin/editor-styles.js 0 B 0 B 🆕
dist/assets/blocks/reader-revenue-manager/block-editor-plugin/index.js 42.7 kB 0 B
dist/assets/blocks/reader-revenue-manager/common/editor-styles.css 307 B 0 B
dist/assets/blocks/reader-revenue-manager/common/editor-styles.js 0 B 0 B 🆕
dist/assets/blocks/reader-revenue-manager/contribute-with-google/index.js 5.88 kB 0 B
dist/assets/blocks/reader-revenue-manager/contribute-with-google/non-site-kit-user.js 5.07 kB 0 B
dist/assets/blocks/reader-revenue-manager/subscribe-with-google/index.js 5.88 kB 0 B
dist/assets/blocks/reader-revenue-manager/subscribe-with-google/non-site-kit-user.js 5.07 kB 0 B
dist/assets/blocks/sign-in-with-google/editor-styles.css 84 B 0 B
dist/assets/blocks/sign-in-with-google/editor-styles.js 0 B 0 B 🆕
dist/assets/blocks/sign-in-with-google/index.js 18.6 kB 0 B
dist/assets/css/googlesitekit-admin-css-********************.min.css 67.1 kB 0 B
dist/assets/css/googlesitekit-adminbar-css-********************.min.css 12.3 kB 0 B
dist/assets/css/googlesitekit-authorize-application-css-********************.min.css 846 B 0 B
dist/assets/css/googlesitekit-wp-dashboard-css-********************.min.css 8.89 kB 0 B
dist/assets/js/146-********************.js 963 B 0 B
dist/assets/js/201-********************.js 2.85 kB 0 B
dist/assets/js/314-********************.js 100 kB 0 B
dist/assets/js/315-********************.js 3.08 kB 0 B
dist/assets/js/379-********************.js 3.7 kB 0 B
dist/assets/js/590-********************.js 1.89 kB 0 B
dist/assets/js/640-********************.js 2.36 kB 0 B
dist/assets/js/909-********************.js 1.01 kB 0 B
dist/assets/js/analytics-advanced-tracking-********************.js 475 B 0 B
dist/assets/js/googlesitekit-activation-********************.js 25.1 kB 0 B
dist/assets/js/googlesitekit-ad-blocking-recovery-********************.js 59.6 kB 0 B
dist/assets/js/googlesitekit-admin-pointers-tracking-********************.js 5.35 kB 0 B
dist/assets/js/googlesitekit-adminbar-********************.js 36.1 kB 0 B
dist/assets/js/googlesitekit-api-********************.js 7.99 kB 0 B
dist/assets/js/googlesitekit-block-tracking-********************.js 5.55 kB 0 B
dist/assets/js/googlesitekit-components-********************.js 5.82 kB 0 B
dist/assets/js/googlesitekit-consent-mode-********************.js 25.5 kB 0 B
dist/assets/js/googlesitekit-data-********************.js 1.73 kB 0 B
dist/assets/js/googlesitekit-datastore-forms-********************.js 7.01 kB 0 B
dist/assets/js/googlesitekit-datastore-location-********************.js 1.51 kB 0 B
dist/assets/js/googlesitekit-datastore-site-********************.js 18.5 kB 0 B
dist/assets/js/googlesitekit-datastore-ui-********************.js 7.16 kB 0 B
dist/assets/js/googlesitekit-datastore-user-********************.js 23 kB 0 B
dist/assets/js/googlesitekit-entity-dashboard-********************.js 72.6 kB 0 B
dist/assets/js/googlesitekit-events-provider-contact-form-7-********************.js 1.27 kB 0 B
dist/assets/js/googlesitekit-events-provider-easy-digital-downloads-********************.js 655 B 0 B
dist/assets/js/googlesitekit-events-provider-mailchimp-********************.js 1.27 kB 0 B
dist/assets/js/googlesitekit-events-provider-ninja-forms-********************.js 1.26 kB 0 B
dist/assets/js/googlesitekit-events-provider-optin-monster-********************.js 1.29 kB 0 B
dist/assets/js/googlesitekit-events-provider-popup-maker-********************.js 1.34 kB 0 B
dist/assets/js/googlesitekit-events-provider-woocommerce-********************.js 990 B 0 B
dist/assets/js/googlesitekit-events-provider-wpforms-********************.js 1.29 kB 0 B
dist/assets/js/googlesitekit-i18n-********************.js 6.16 kB 0 B
dist/assets/js/googlesitekit-key-metrics-setup-********************.js 53.4 kB 0 B
dist/assets/js/googlesitekit-main-dashboard-********************.js 149 kB 0 B
dist/assets/js/googlesitekit-metric-selection-********************.js 58.1 kB 0 B
dist/assets/js/googlesitekit-modules-********************.js 26.3 kB 0 B
dist/assets/js/googlesitekit-modules-ads-********************.js 48.9 kB 0 B
dist/assets/js/googlesitekit-modules-adsense-********************.js 138 kB 0 B
dist/assets/js/googlesitekit-modules-analytics-4-********************.js 191 kB 0 B
dist/assets/js/googlesitekit-modules-pagespeed-insights-********************.js 23.6 kB 0 B
dist/assets/js/googlesitekit-modules-reader-revenue-manager-********************.js 52.8 kB +33 B (+0.06%)
dist/assets/js/googlesitekit-modules-search-console-********************.js 67.1 kB 0 B
dist/assets/js/googlesitekit-modules-sign-in-with-google-********************.js 34.7 kB 0 B
dist/assets/js/googlesitekit-modules-tagmanager-********************.js 30.4 kB 0 B
dist/assets/js/googlesitekit-notifications-********************.js 68.5 kB 0 B
dist/assets/js/googlesitekit-polyfills-********************.js 230 B 0 B
dist/assets/js/googlesitekit-settings-********************.js 135 kB 0 B
dist/assets/js/googlesitekit-splash-********************.js 78.5 kB 0 B
dist/assets/js/googlesitekit-user-input-********************.js 51.3 kB 0 B
dist/assets/js/googlesitekit-vendor-********************.js 328 kB 0 B
dist/assets/js/googlesitekit-widgets-********************.js 105 kB 0 B
dist/assets/js/googlesitekit-wp-dashboard-********************.js 62.1 kB 0 B
dist/assets/js/runtime-********************.js 1.92 kB 0 B

compressed-size-action

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 17, 2026

🤖 This comment is automatically updated by CI workflows. Each section is managed independently.

📚 Storybook for 6d3cd6f:

📦 Build files for 6d3cd6f:

🎭 Playwright reports for 6d3cd6f:

Copy link
Copy Markdown
Collaborator

@nfmohit nfmohit left a comment

Choose a reason for hiding this comment

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

Thank you for your work on this, @hussain-t.

This PR mostly looks good to me, except for one fundamental concern regarding the default value for policyInfoLink, which I've expanded in a comment below.

Please let me know if you have any thoughts, thanks!

@hussain-t hussain-t force-pushed the bug/#12185-rrm-content-policy-status-type branch from d7bdd35 to 6d3cd6f Compare March 30, 2026 14:25
Copy link
Copy Markdown
Collaborator

@nfmohit nfmohit left a comment

Choose a reason for hiding this comment

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

Thank you for updating the PR, @hussain-t.

I'm afraid I have found another related bug. Steps to reproduce:

  1. Set up RRM with a publication that has a policy violation (with a policy info link, of course).
  2. Go to Site Kit Settings -> Reader Revenue Manager and change the publication to one that does not have a policy violation (with a null policy info link).
  3. Observe that the "Confirm changes" CTA is disabled, because RRM tries to set policyInfoLink to null, but validateCanSubmitChanges only accepts a string for it (which is correct).

A solution to this could include (but may not be limited to) updating the selectPublication action to set policyInfoLink to an empty string if it is anything but a string.

Could you kindly look into this? Thanks!

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants