Allow WP-CLI `wp optimole media rollback_images` command to execute when `offload_media` is set to rollback state
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 65/100
Direzione di ricerca
Look at the WP-CLI command handler for wp optimole media rollback_images, likely in a class like Optml_Media_Offload. The validation check for the offload_media option needs to be adjusted to also allow execution when the storage mode is 'rollback'. Examine how the plugin state is stored and identify the condition that signifies an active rollback. Test the command after changes to ensure it works both when offload is enabled and during a rollback.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Impact: 75 · Confidence: 95 · Complexity: 30
Description
- Problem: When a site administrator initiates an image transfer/rollback from the plugin dashboard ('Transfer back from Optimole'), Optimole sets the plugin storage mode to rollback, which stores the
offload_mediasetting option as disabled. If the administrator or host then attempts to run the command-line rollback tool (wp optimole media rollback_images), the WP-CLI command throws an error:Error: You need to have the offload_media option enabled in order to use this commandand aborts. - Desired behavior: WP-CLI's
wp optimole media rollback_imagescommand should check whether a rollback is currently active or in progress (or allow execution ifoffload_mediais disabled due to an ongoing rollback state), rather than strictly requiringoffload_mediato be enabled. - Acceptance Criteria:
- Running
wp optimole media rollback_imagessucceeds when an image rollback operation has been initiated from the dashboard (whereoffload_mediais disabled or set to rollback mode). - The CLI command only rejects execution if no offloaded images exist or if offload media was never configured/active.
Customer Context
The customer needed to roll back 11,000+ offloaded images. The background WP-Cron process stalled due to server cron restrictions. When support instructed the customer and host to run wp optimole media rollback_images via SSH/terminal, the WP-CLI command failed because selecting 'Transfer back from Optimole' in the plugin dashboard had set offload_media to disabled.
Root Cause Analysis
The customer needed to restore offloaded media back to the local WordPress Media Library. The plugin's UI dashboard action 'Transfer back from Optimole' sets the plugin's offload storage mode to rollback, which sets the offload_media option value to disabled. When background WP-Cron stalled and support instructed the host to run wp optimole media rollback_images via WP-CLI, the CLI command failed because it enforces a strict check requiring offload_media to be enabled before initiating or resuming a rollback. The root cause is a workflow/validation contradiction in the plugin code: initiating a rollback in UI turns off offload_media, but the CLI command requires offload_media to be enabled.
Alternative Suggestions
Relax or adjust the option check in Optml_Media_Offload / WP-CLI rollback command handler so that wp optimole media rollback_images checks whether offloaded images exist or whether storage mode is in rollback state, rather than strictly asserting offload_media == enabled.
Reasoning
The customer experienced a failure running the CLI rollback command wp optimole media rollback_images because selecting 'Transfer back from Optimole' in the WordPress admin dashboard saved the storage mode as rollback, which updated offload_media option to disabled. Consequently, when attempting to run wp optimole media rollback_images via CLI as recommended for reliable or large background operations, WP-CLI halts with Error: You need to have the offload_media option enabled in order to use this command. The CLI rollback command should automatically permit execution when offload_media is in a rollback state or automatically bypass this option check during a rollback operation.
Source: HelpScout #3456031569
Generated by feature-request-triage workflow (ID: feature-request-triage_6ab502db326f90.60727165)
- Lingua principale
- PHP
- Stelle
- 73
- Fork
- 14
- Merge medio
- 2g 13h
- PR unite (30g)
- 16
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Codeinwp/optimole-wp
-
bug-report bug-report-triage crash-report
Difficoltà 4/5 3-5 giorni Idoneità per principianti 65/100
Codeinwp/optimole-wp#1162 ·
I maintainer di solito rispondono entro 1 giorno
-
bug-report bug-report-triage customer report regression
Difficoltà 4/5 3-5 giorni Idoneità per principianti 56/100
Codeinwp/optimole-wp#1159 ·
I maintainer di solito rispondono entro 1 giorno
-
customer report feature-request-triage
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
Codeinwp/optimole-wp#1151 ·
I maintainer di solito rispondono entro 1 giorno
-
bug-report bug-report-triage crash-report
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
Codeinwp/optimole-wp#1139 ·
I maintainer di solito rispondono entro 1 giorno
-
bug-report bug-report-triage customer report
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
Codeinwp/optimole-wp#1136 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Codeinwp/optimole-wp
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
521xueweihan/HelloGitHub#3790 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
benjaminkott/bootstrap_package#1670 ·
-
sync-en
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 2 giorni