{"record":{"id":"067f7d58abbd8705","repo":"alyssaxuu/screenity","slug":"drive-folder-creation-failed-createres-status","errorCode":null,"errorMessage":"Drive folder creation failed: ${createRes.status} ${text}","messagePattern":"Drive folder creation failed: (.+?) (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"src/pages/Background/drive/handleSaveToDrive.js","lineNumber":43,"sourceCode":"      `Drive folder search failed: ${searchRes.status} ${text}`\n    );\n  }\n\n  const result = await searchRes.json();\n  if (result.files?.length) return result.files[0].id;\n\n  const createRes = await fetch(`https://www.googleapis.com/drive/v3/files`, {\n    method: \"POST\",\n    headers,\n    body: JSON.stringify({\n      name: \"Screenity\",\n      mimeType: \"application/vnd.google-apps.folder\",\n    }),\n  });\n\n  if (!createRes.ok) {\n    const text = await createRes.text().catch(() => \"\");\n    throw new Error(\n      `Drive folder creation failed: ${createRes.status} ${text}`\n    );\n  }\n\n  const newFolder = await createRes.json();\n  return newFolder.id;\n};\n\nconst getAuthTokenFromStorage = async () => {\n  return new Promise((resolve, reject) => {\n    chrome.storage.local.get([\"token\"], async (result) => {\n      if (chrome.runtime.lastError) {\n        console.error(\"[Drive] storage error:\", chrome.runtime.lastError);\n        reject(new Error(chrome.runtime.lastError));\n        return;\n      }\n\n      const token = result.token;","sourceCodeStart":25,"sourceCodeEnd":61,"githubUrl":"https://github.com/alyssaxuu/screenity/blob/512606387b8d07dda5e63bb428bd063f0a2a3ed0/src/pages/Background/drive/handleSaveToDrive.js#L25-L61","documentation":"The files.create POST that creates the missing 'Screenity' folder returned a non-OK status. Thrown in findOrCreateScreenityFolder only when no existing folder was found and createRes.ok is false — typically insufficient permissions, quota limits, or a transient Drive API failure.","triggerScenarios":"Thrown at src/pages/Background/drive/handleSaveToDrive.js:43 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Inspect `text` (Drive JSON error body) for the failure reason","Retry the create with exponential backoff on 429/403-quota errors","Confirm the token has permission to create folders in the user's Drive","Refresh the token and retry the whole find-or-create flow once"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"512606387b8d07dda5e63bb428bd063f0a2a3ed0","analyzedAt":"2026-09-02T20:59:09.419Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-10T02:17:09.455Z"}