Published Apps SDK widget updates / CSP behavior inconsistent after redeploy — anyone else seeing this?
Update — partial resolution
Thanks everyone who looked at this. Updating to save people time:
Resolved:
The fullscreen flash-revert was a bug in my own widget code, not a platform issue. My desktop “fullscreen” was implemented as local React state only (no
requestDisplayModecall), while myopenai:set_globalshandler unconditionally synced localdisplayModefromwindow.openai.displayMode. On desktop the host’s displayMode stays'inline', and aset_globals(inline)burst fires ~5ms after the Expand click — the sync handler ran and reverted local fullscreen. Fix: persistent desktop-only intent flag that causes the sync handler to ignorehostMode === 'inline'while the user is in local fullscreen. Verified in production.Bundle propagation actually works. My “stale runtime” symptoms were ChatGPT-side iframe caching that didn’t clear via disconnect/reconnect alone. Fully deleting and re-adding the app in dev mode invalidated the cache and the new bundle loaded immediately. After that, every server deploy propagated within minutes without resubmission. So the freeze model I was assuming (URI frozen → bytes frozen → resubmission required) was wrong — only the URI string is frozen at approval, the bytes behind it serve fresh on every deploy.
Still open / unconfirmed:
Whether
_meta.ui.csp.connectDomainsandopenai/widgetCSP.connect_domainsare honored by the published runtime. I’ve worked around it by routing widget->backend throughcallToolinstead of direct fetch, so I no longer need the declarations to work for my own app — but I haven’t confirmed they actually function for anyone.The
/backend-api/ecosystem/call_mcp 404andsystem-connectors exceeded the quotaerrors. Still showing in console. No correlation found with my widget behavior after the fullscreen fix shipped. Possibly host-internal, not app-side.
If anyone has data on #1 or #2, still interested. Otherwise no further help needed on the original post.
Discussion in the ATmosphere