{"record":{"id":"507b2ee7db906140","repo":"onetimesecret/onetimesecret","slug":"unable-to-verify-domain-please-try-again","errorCode":null,"errorMessage":"Unable to verify domain. Please try again.","messagePattern":"Unable to verify domain\\. Please try again\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"src/shared/stores/domainsStore.ts","lineNumber":206,"sourceCode":"    count.value = result.data.count ?? 0;\n\n    return result.data;\n  }\n\n  async function getDomain(extid: string) {\n    const response = await $api.get(`/api/domains/${extid}`);\n    const result = gracefulParse(responseSchemas.customDomain, response.data, 'CustomDomainResponse');\n    if (!result.ok) {\n      throw new Error('Unable to load domain. Please try again.');\n    }\n    return result.data;\n  }\n\n  async function verifyDomain(extid: string) {\n    const response = await $api.post(`/api/domains/${extid}/verify`);\n    const result = gracefulParse(responseSchemas.customDomain, response.data, 'CustomDomainResponse');\n    if (!result.ok) {\n      throw new Error('Unable to verify domain. Please try again.');\n    }\n    return result.data;\n  }\n\n  /**\n   * Enqueue a forced favicon re-fetch for a domain (#3780).\n   *\n   * ASYNC: the endpoint returns a queued success immediately\n   * (`{ record: null, details: { msg } }`) — the new icon lands later via the\n   * background favicon worker. Unlike verifyDomain, the response carries no\n   * domain record to parse, so this mirrors verifyDomain's `$api.post` call but\n   * resolves void; callers show a \"refreshing/queued\" state and re-fetch rather\n   * than reading image bytes here. The backend overwrite-guard still protects a\n   * user-uploaded icon, so a forced refresh cannot clobber one.\n   */\n  async function refreshFavicon(extid: string) {\n    await $api.post(`/api/domains/${extid}/icon/refresh`);\n  }","sourceCodeStart":188,"sourceCodeEnd":224,"githubUrl":"https://github.com/onetimesecret/onetimesecret/blob/f81295e41bc3e808a3dd2cbea03ef65401a662e4/src/shared/stores/domainsStore.ts#L188-L224","documentation":"Error \"Unable to verify domain. Please try again.\" thrown in onetimesecret/onetimesecret.","triggerScenarios":"Thrown at src/shared/stores/domainsStore.ts:206 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Confirm the verification TXT record is present and propagated (dig TXT) before retrying verification.","Respect the DNS verification rate limit; wait before retrying after failed attempts."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f81295e41bc3e808a3dd2cbea03ef65401a662e4","analyzedAt":"2026-08-23T21:13:10.635Z","schemaVersion":2},"datasetVersion":"2026-08-24T02:17:37.098Z"}