{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreiguhps7mubsletxp2fyc2nd77qcr5efwybfeoihtvtanjd4ndnxgi",
    "uri": "at://did:plc:lk3jfj3zq4k4wxnk474axylu/app.bsky.feed.post/3mlxeob3qjqe2"
  },
  "path": "/t/android-chatgpt-app-error-after-before-tools-call/1380993#post_4",
  "publishedAt": "2026-05-16T07:54:39.000Z",
  "site": "https://community.openai.com",
  "textContent": "OpenAI_Support:\n\n> support@openai.com\n\nHi Mark,\n\nThanks for the guidance. We followed your suggested path and unfortunately still have not isolated the root cause.\n\nThe short version: the problem is not limited to the resume widget JS boot. We tested a minimal static widget resource and Android still showed the same generic error.\n\nWhat we tested:\n\n  1. Minimal static component/resource on the same app/tool\n\n     * We replaced the build_resume widget resource with a tiny inline/static HTML response.\n\n     * No React.\n\n     * No bundled app JS.\n\n     * No external JS/CSS assets.\n\n     * No OAuth.\n\n     * No redirects.\n\n     * No custom domain logic.\n\n     * No notifyIntrinsicHeight.\n\n     * No dynamic imports.\n\n     * Visible body text only: Resume builder static probe loaded.\n\n\n\n\nAndroid did reach resources/read.\n\nExample logged sequence:\n\n  * initialize 200\n\n  * notifications/initialized 202\n\n  * tools/list 200\n\n  * resources/list 200\n\n  * resources/read 200 for ui://views/apps-sdk/build_resume.html?..\n\n  * response MIME: text/html+skybridge\n\n  * static HTML size: 1391 bytes\n\n  * response meta keys: openai/widgetCSP, openai/widgetDomain, openai/widgetDescription, openai/widgetPrefersBorder\n\n  * then Android still showed the generic error\n\n\n\n\nSo the static resource did not make the resume tool path reliable.\n\n  2. Separate control tool/widget\nWe added a separate simple control tool/widget, a smiley-face probe. In some runs this worked: Android invoked the tool and rendered the widget. That suggests the tunnel/server and Android app connection can work in principle.\n\n\n\nHowever, the resume tool continued to fail, especially once resume details were provided.\n\n  3. Tool/schema/descriptor reduction\nWe tried reducing the resume tool surface in multiple ways:\n\n     * simpler description\n\n     * simpler schema\n\n     * flat resumeDetails input instead of nested profile\n\n     * renamed tool variants\n\n     * plain tool without widget binding\n\n     * empty resource list\n\n     * cache-busted server/widget versions\n\n     * fresh Android app connections\n\n\n\n\nThese did not consistently remove the generic Android error.\n\nWhat should we do?",
  "title": "Android ChatGPT app error after before tools/call"
}