From a4e895a5c2e30e1a816ea014cc2399bbdfffbacf Mon Sep 17 00:00:00 2001 From: abose Date: Thu, 28 May 2026 18:45:14 +0530 Subject: [PATCH 1/3] feat(ai-chat): add restart-hint string for Claude setup screen New AI_CHAT_CLAUDE_LOGIN_RESTART_NOTE used by the configure screen when login detection lags after the user clicks Setup Claude Code. --- src/nls/root/strings.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/nls/root/strings.js b/src/nls/root/strings.js index 344bbc77ca..7729c46e1e 100644 --- a/src/nls/root/strings.js +++ b/src/nls/root/strings.js @@ -2188,6 +2188,7 @@ define({ "AI_CHAT_CLAUDE_LOGIN_TITLE": "Setup Claude Code", "AI_CHAT_CLAUDE_LOGIN_MSG": "Claude Code is installed but needs to be configured.", "AI_CHAT_CLAUDE_LOGIN_BTN": "Setup Claude Code", + "AI_CHAT_CLAUDE_LOGIN_RESTART_NOTE": "Restart {APP_NAME} after configuration completes.", "AI_CHAT_ADD_PROVIDER_BTN": "Add Custom Provider", "AI_CHAT_SETUP_NEED_HELP": "Need Help?", "AI_CHAT_SETUP_LEARN_MORE": "Learn More", From 9cf0be08b423c9ef46fc12d64538d483ad60cc1f Mon Sep 17 00:00:00 2001 From: abose Date: Thu, 28 May 2026 18:48:53 +0530 Subject: [PATCH 2/3] chore: update pro deps --- tracking-repos.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tracking-repos.json b/tracking-repos.json index 0a5f6dceee..8bdd318b73 100644 --- a/tracking-repos.json +++ b/tracking-repos.json @@ -1,5 +1,5 @@ { "phoenixPro": { - "commitID": "70c526ad1357d7913f637db242122a1ac27a9aa7" + "commitID": "1676588c58e69ad56b76b81b07f9021123d2c210" } } From 43f56a87333651924b32552cabaf2ad4e35dd6b6 Mon Sep 17 00:00:00 2001 From: abose Date: Thu, 28 May 2026 19:31:05 +0530 Subject: [PATCH 3/3] fix: docuemntation build breaks --- build/api-docs-generator.js | 30 +++++++++++++++++++-- docs/API-Reference/view/WorkspaceManager.md | 2 +- src/view/WorkspaceManager.js | 2 +- 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/build/api-docs-generator.js b/build/api-docs-generator.js index 126c9ccbd1..73fec93b67 100644 --- a/build/api-docs-generator.js +++ b/build/api-docs-generator.js @@ -205,8 +205,34 @@ async function generateMarkdown(file, relativePath) { const modifiedContent = modifyJs(content, fileName); - // Generate markdown using jsdoc-to-markdown as a library - const markdownContent = await jsdoc2md.render({ source: modifiedContent }); + // Generate markdown using jsdoc-to-markdown as a library. jsdoc-api spawns + // a child `jsdoc` process per call; under our BATCH_SIZE parallelism the + // child occasionally produces truncated/empty stdout (manifesting as + // "Unexpected end of JSON input"/"Unterminated string in JSON"). Retry + // serially so a single transient failure doesn't abort the whole batch. + let markdownContent; + let lastErr; + for (let attempt = 0; attempt < 3; attempt++) { + try { + markdownContent = await jsdoc2md.render({ source: modifiedContent }); + lastErr = undefined; + break; + } catch (err) { + lastErr = err; + const causeMsg = err && err.cause && err.cause.message + ? err.cause.message + : ''; + const transient = /Unexpected end of JSON input|Unterminated string in JSON|Jsdoc failed/.test( + (err && err.message) || '' + ) || /JSON/.test(causeMsg); + if (!transient) break; + await new Promise(r => setTimeout(r, 200 * (attempt + 1))); + } + } + if (lastErr) { + lastErr.message = `[${file}] ${lastErr.message}`; + throw lastErr; + } const newContent = normalizeLineEndings( modifyMarkdown(markdownContent, path.join(relativePath, fileName)) ); diff --git a/docs/API-Reference/view/WorkspaceManager.md b/docs/API-Reference/view/WorkspaceManager.md index bb0c11ed12..eff290c760 100644 --- a/docs/API-Reference/view/WorkspaceManager.md +++ b/docs/API-Reference/view/WorkspaceManager.md @@ -111,7 +111,7 @@ The panel's size & visibility are automatically saved & restored as a view-state | $panel | jQueryObject | DOM content to use as the panel. Need not be in the document yet. Must have an id attribute, for use as a preferences key. | | [minSize] | number | @deprecated No longer used. Pass `undefined`. | | [title] | string | Display title shown in the bottom panel tab bar. | -| [options] | Object | Optional settings: - {string} iconSvg Path to an SVG icon for the panel tab (e.g. "styles/images/icon.svg"). If omitted, a generic default icon is used. | +| [options] | Object | Optional settings: - `iconSvg` (string): Path to an SVG icon for the panel tab (e.g. "styles/images/icon.svg"). If omitted, a generic default icon is used. | diff --git a/src/view/WorkspaceManager.js b/src/view/WorkspaceManager.js index acb33401f5..a17e5663ce 100644 --- a/src/view/WorkspaceManager.js +++ b/src/view/WorkspaceManager.js @@ -295,7 +295,7 @@ define(function (require, exports, module) { * @param {number=} minSize @deprecated No longer used. Pass `undefined`. * @param {string=} title Display title shown in the bottom panel tab bar. * @param {Object=} options Optional settings: - * - {string} iconSvg Path to an SVG icon for the panel tab (e.g. "styles/images/icon.svg"). + * - `iconSvg` (string): Path to an SVG icon for the panel tab (e.g. "styles/images/icon.svg"). * If omitted, a generic default icon is used. * @return {!Panel} */