Error/Bug Definition
When a user opens an existing project in Prism, the LaTeX preview pane remains empty. The browser console reports ERR_PREVIEW_LOAD_FAILURE and the UI shows a loading spinner that never resolves.
Root Cause Analysis
The failure can be traced to three primary categories:
- Network restrictions: corporate firewalls or proxy settings block the WebSocket connection to the preview rendering service.
- Browser incompatibility: outdated browsers lack support for
SharedArrayBufferor the required CSP headers, causing the rendering iframe to be sandboxed. - API authentication: an expired or missing Prism‑API‑Key prevents the backend from fetching the compiled PDF, resulting in a timeout.
Fix Overview
Step 1 – Confirm network connectivity
Open a new tab and navigate to https://prism.openai.com/preview-health. A JSON response containing {"status":"ok"} indicates the service is reachable. If the request hangs, whitelist prism.openai.com in the firewall or proxy.
Step 2 – Update or switch browser
Supported browsers: Chrome ≥ 112, Edge ≥ 112, Firefox ≥ 109. Ensure the browser is updated and that the Cross‑Origin‑Opener‑Policy and Cross‑Origin‑Embedder‑Policy headers are not stripped by extensions.
Disable interfering extensions
Temporarily disable ad‑blockers or security extensions, then reload the project.
Step 3 – Refresh authentication token
Log out of the OpenAI account, clear cookies for openai.com, and sign back in. Verify that the Prism‑API‑Key displayed in the account settings is active and not expired.
Regenerate API key (if needed)
Navigate to Alternative Library Documentation for instructions on generating a new key.
Step 4 – Verify CSP and iframe settings
If using a custom embedding page, ensure the CSP includes frame‑ancestors 'self' https://prism.openai.com and that allow‑same‑origin is set on the iframe.
Test with a clean project
Create a new project from the Prism dashboard and add a simple \begin{document}Hello\end{document} snippet. The preview should render instantly; if it does, the issue was project‑specific (e.g., corrupted .prism metadata).
Preventive Measures
- Regularly update browsers to the latest stable release.
- Maintain an active Prism‑API‑Key and rotate it quarterly.
- Document any corporate network changes that affect outbound WebSocket traffic.
For further reference, see the Stable Version documentation on secure API consumption.