Repository navigation
Conversation
StrawHat-Dery
approved these changes
Nov 13, 2026
StrawHat-Dery
left a comment
Collaborator
There was a problem hiding this comment.
Reviewed and validated the synchronization scaling changes. Approving — no blocking issues identified.
Validation completed:
- PHP lint passed.
- PHPUnit: 149 tests, 862 assertions passed.
- Scaling suite: 12/12 tests passed against a simulated 10,000-resource KB.
- Live WordPress → PAR synchronization completed successfully against a KB with ~1,200 existing resources (3/3 synced, 0 failures).
The pagination changes, background preparation workflow, and resource reconciliation behaved as expected in testing.
Non-blocking follow-ups worth considering:
- Legacy sync-state recovery: certain pre-upgrade
runningstates may prevent a new synchronization from starting. A documented support recovery procedure would be helpful. - Rate limiting: individual slug-verification requests don't currently honor
Retry-After, unlike the new catalog pagination requests. - Final-state recovery: a narrow interruption window may leave a completed run marked as
runninguntil manually cancelled or otherwise reconciled.
None of these findings affected the successful tests or appear to undermine the primary fixes.
Thanks for addressing the pagination and synchronization timeout issues!
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.
The plugin paginated the resource list with 'from' param, which the API ignores, so it refetched page 0 forever. The status poll and settings saves also scanned the whole KB inside one web request. On sites with many resources this caused 504 timeouts and tripped the 2,400 requests/minute limit.
• Paginate with page and stop on pagination.last
• Make the status poll read-only, and avoid loading every finished Action Scheduler job while work is pending
• Run sync as a resumable background job on Action Scheduler, started by Sync or by saving settings
• Resolve 409 conflicts with a single GET /slug/{slug}
• Report 429 as a rate-limit error
• Add a sync progress banner and rename the button to "Sync", with a spinner and a details view with Cancel
• Add isolated scaling tests with 10,000 resources
• Add a changelog entry