From c3eda4c89d540f5a6eb53596558eb7b976659f16 Mon Sep 17 00:00:00 2001 From: Valerii Kovalskii Date: Tue, 7 Apr 2026 19:01:13 +0300 Subject: [PATCH] fix: add regenerate button for AI titles MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Detail panel: ↻ button next to existing title to regenerate - Card footer: button always visible (⚙ to generate, ↻ to regenerate) Co-Authored-By: Claude Opus 4.6 (1M context) --- src/frontend/app.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/frontend/app.js b/src/frontend/app.js index e43dd2c..8fb269c 100644 --- a/src/frontend/app.js +++ b/src/frontend/app.js @@ -879,9 +879,9 @@ function renderCard(s, idx) { html += ''; html += ''; if (s.has_detail) { - if (!sessionTitles[s.id]) { - html += ''; - } + var btnTitle = sessionTitles[s.id] ? 'Regenerate AI title' : 'Generate AI title'; + var btnIcon = sessionTitles[s.id] ? '↻' : '⚛'; + html += ''; html += ''; } html += ''; @@ -1480,10 +1480,11 @@ async function openDetail(s) { var infoHtml = '
'; // AI Title row var aiTitle = sessionTitles[s.id]; + var escProject = escHtml(s.project || '').replace(/'/g, "\\'"); if (aiTitle) { - infoHtml += '
AI Title' + escHtml(aiTitle) + '
'; + infoHtml += '
AI Title' + escHtml(aiTitle) + '
'; } else if (s.has_detail) { - infoHtml += '
AI Title
'; + infoHtml += '
AI Title
'; } var detailToolLabel = s.tool === 'claude-ext' ? 'claude ext' : s.tool; infoHtml += '
Tool' + escHtml(detailToolLabel) + '
';