Gutenberg-plugin JS enqueue error for users without permission to push.
peterwilsoncc opened this issue · comments
Describe the bug
When a user without permission to syndicate posts visits the block editor screen, an error is thrown enqueuing the Gutenberg-plugin JavaScript as the dt-push
dependency is not available.
This is caused by the is_syndicatable()
check in the push-ui file preventing the registration of the dependency if it's unavailable.
distributor/includes/push-ui.php
Lines 407 to 410 in 0d55331
It may be possible to remove the is_syndicatable()
check when enqueuing the the push UI JavaScript but the JavaScript may require the addition of a check for the user permissions.
Steps to Reproduce
- Add the following code to prevent pushing for all users to mu plugins
add_filter( 'dt_syndicatable_capabilities', function() { return 'do_not_allow'; } );
- Enable the Query Monitor plugin
- Visit the post edit screen
- Query Monitor will report the dependency issue
Screenshots, screen recording, code snippet
Environment information
- Distributor Develop @ 75c0bf3
- WordPress 6.5.4
WordPress information
No response
Code of Conduct
- I agree to follow this project's Code of Conduct
If I remove the syndicatable
before script enqueuing it gets rid of the error and if I login via a user who doesn't have permission to push content, the UI to push doesn't show anything https://cleanshot.thrijith.com/6h0NTlQ5gqpnjwmZ7F8D, do we need any additional checks in the JS in this case?