Bug Fixes
Sharing an inventory list previously blocked your browser while rendering the PDF and sending the email inline, causing timeouts and 429 errors on slow storage connections. This has been rearchitected: the share action now enqueues the job instantly and returns, while a background worker renders and delivers the PDF. The UI shows a "Sending…" status with real-time updates, and failed sends are logged and retryable. This also applies stricter concurrency limits to thumbnail fetches and retries transient storage errors, making the entire pipeline more robust.