Improved
Long-running tasks now return immediately
Calendar generation, SEO audits, bulk SEO suggestions, and document upload all moved off the synchronous request path. The endpoint returns a job handle in under a second; progress streams over WebSocket and a polling fallback keeps the UI honest if the connection drops.
Net effect: no more proxy-timeout 502s on the long stuff, and the new global Progress Tray surfaces every in-flight task across navigation and refresh.