From ef6f25f0a27ec1e86e453797042ffeacd9ec3cfc Mon Sep 17 00:00:00 2001 From: Kevin Ushey Date: Thu, 23 Jul 2026 13:47:19 -0700 Subject: [PATCH 1/3] friendlier error for DOIs without citation metadata --- packages/editor-server/src/server/doi.ts | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/packages/editor-server/src/server/doi.ts b/packages/editor-server/src/server/doi.ts index 4dd97d200..db0887a4a 100644 --- a/packages/editor-server/src/server/doi.ts +++ b/packages/editor-server/src/server/doi.ts @@ -28,9 +28,21 @@ export function doiServer() : DOIServer { return { async fetchCSL(doi: string) : Promise { const url = `${kDOIHost}/${doi}`; - return handleResponseWithStatus( - () => fetch(url, { headers: { Accept: kCSLJsonFormat } }) - ); + return handleResponseWithStatus(async () => { + const response = await fetch(url, { headers: { Accept: kCSLJsonFormat } }); + + // some registration agencies don't support CSL content negotiation; + // for those DOIs the request just redirects to the (HTML) landing + // page, so report that rather than failing to parse the page as JSON + const contentType = response.headers.get("Content-Type") || ""; + if (response.ok && !contentType.includes("json")) { + throw new Error( + "This DOI resolved, but its registration agency does not provide citation metadata." + ); + } + + return response; + }); } } } From 950c1395e46d75cf3a4f31166e317614b9de0ee3 Mon Sep 17 00:00:00 2001 From: Kevin Ushey Date: Thu, 23 Jul 2026 13:47:54 -0700 Subject: [PATCH 2/3] update changelog --- apps/vscode/CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/vscode/CHANGELOG.md b/apps/vscode/CHANGELOG.md index 5364c2632..0ddacb569 100644 --- a/apps/vscode/CHANGELOG.md +++ b/apps/vscode/CHANGELOG.md @@ -3,6 +3,7 @@ ## 1.136.0 (Unreleased) - Reduce memory usage by only starting the language server (LSP) in projects containing Quarto documents (https://github.com/quarto-dev/quarto/pull/1059) +- Improved the error message shown when inserting a citation from a DOI whose registration agency does not provide citation metadata (). ## 1.135.0 (Release on 2026-07-08) From fc8a5b0e5d10b8d2583f551fbf9ef6c15c160c38 Mon Sep 17 00:00:00 2001 From: Kevin Ushey Date: Thu, 23 Jul 2026 13:48:36 -0700 Subject: [PATCH 3/3] clarify doi lookup error message --- packages/editor-server/src/server/doi.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/editor-server/src/server/doi.ts b/packages/editor-server/src/server/doi.ts index db0887a4a..5fd0c5254 100644 --- a/packages/editor-server/src/server/doi.ts +++ b/packages/editor-server/src/server/doi.ts @@ -37,7 +37,9 @@ export function doiServer() : DOIServer { const contentType = response.headers.get("Content-Type") || ""; if (response.ok && !contentType.includes("json")) { throw new Error( - "This DOI resolved, but its registration agency does not provide citation metadata." + "This DOI was found, but no citation data is available for it. " + + "This usually means the organization that registered the DOI does not support automatic citation lookup. " + + "To cite this work, you can add an entry to your bibliography manually." ); }