Repository navigation
Let plugins override a banner's schedule - #2
Merged
Merged
Conversation
`nx_banners_scheduled:{id}` filters whether a banner is inside its schedule, so QA can see a banner before it starts, or hide one inside it, without moving the site's clock. The filter is per banner ID, so faking one banner's schedule never moves another's. It only applies when the plugin that registered the banner bundles a copy of the package that has it.
The bundled stylesheet's URL carries the package version, so browsers fetch the new file after the update.
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.
Lets plugins override whether a banner is in its schedule, so QA can see a banner before it starts without moving the site's clock.
Ticket: none on this branch. Related: SMTNC-3096 (TEC, GiveWP and LearnDash start the Nexcess banner on 14 October, 12:00 EDT).
What changes
nx_banners_scheduled:{id}. It receives whether the banner is inside its schedule (bool) and can force it either way:Package::VERSIONis now1.1.0, so the stylesheet URL changes with the release. Nothing breaks.Proof
composer check: 46 tests, phpcs and phpstan clean. New tests cover the filter showing a banner before its start, hiding one inside its schedule, and another banner's filter changing nothing. The first two failed before the change.AI usage: Drafted with Claude Opus 5.5. I reviewed and tested every change — this is my work and I am accountable for it.
Summary by CodeRabbit