You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Enhance client-side media processing with three reliability improvements:
Automatic retry with exponential backoff — Failed uploads should be retried up to 3 times with increasing delays (1s → 2s → 4s) and jitter to prevent thundering herd
Network resilience — Upload queue should pause when the browser goes offline and resume automatically when connectivity returns
Missing image sizes UI — When images have incomplete sub-sizes (e.g., from interrupted uploads), the editor should show visual indicators and let users generate them on demand
Missing Image Sizes — User Flow
Instead of auto-generating missing sizes silently on editor load, give users control:
Info icon on images — A small indicator appears on images with missing sub-sizes
Popover with Generate action — Clicking the icon shows details and a link to trigger generation
Pre-publish check — The "Are you ready to publish?" panel warns about missing sizes with a bulk Generate option
Retry Flow
flowchart LR
A[Upload] --> B[Processing]
B --> C{Success?}
C -->|Yes| D[Complete]
C -->|No| E{Retryable?}
E -->|No| F[Failed]
E -->|Yes| G{Attempts < 3?}
G -->|No| F
G -->|Yes| H[Wait with backoff]
H -->|1s / 2s / 4s| B
Loading
Network Resilience
flowchart LR
A[Upload Queue] --> B{Browser Online?}
B -->|Yes| C[Continue Processing]
B -->|No| D[Pause Queue]
D --> E[Wait for reconnect]
E -->|online event| F[Resume Queue]
F --> C
C --> G[Complete]
Loading
Acceptance Criteria
Failed uploads retry up to 3 times with exponential backoff
Upload queue pauses when offline and resumes on reconnect
Info icon appears on images with missing sub-sizes
Clicking icon shows popover with Generate link
Generate creates missing sizes and hides indicator
Summary
Enhance client-side media processing with three reliability improvements:
Missing Image Sizes — User Flow
Instead of auto-generating missing sizes silently on editor load, give users control:
Retry Flow
flowchart LR A[Upload] --> B[Processing] B --> C{Success?} C -->|Yes| D[Complete] C -->|No| E{Retryable?} E -->|No| F[Failed] E -->|Yes| G{Attempts < 3?} G -->|No| F G -->|Yes| H[Wait with backoff] H -->|1s / 2s / 4s| BNetwork Resilience
flowchart LR A[Upload Queue] --> B{Browser Online?} B -->|Yes| C[Continue Processing] B -->|No| D[Pause Queue] D --> E[Wait for reconnect] E -->|online event| F[Resume Queue] F --> C C --> G[Complete]Acceptance Criteria
PR: #76765