Implement progress tracking and detailed error handling during content rewriting
This commit is contained in:
23
renderer.js
23
renderer.js
@@ -842,6 +842,29 @@ window.addEventListener('DOMContentLoaded', async () => {
|
|||||||
await renderContent(obj);
|
await renderContent(obj);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
window.addEventListener('rewrite-progress', async e => {
|
||||||
|
const progress = e.detail || {};
|
||||||
|
const selected = await window.electronAPI.getSelected();
|
||||||
|
if (!selected || selected.path !== progress.folderPath) return;
|
||||||
|
|
||||||
|
if (progress.status === 'running') {
|
||||||
|
rewritePendingBtn.classList.remove('hidden');
|
||||||
|
rewritePendingBtn.disabled = true;
|
||||||
|
rewritePendingBtn.textContent = `Rewriting ${progress.current}/${progress.total}…`;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const refreshed = await getFolderObjByPath(progress.folderPath);
|
||||||
|
if (refreshed) await renderContent(refreshed, lastPage);
|
||||||
|
if (progress.status === 'failed' || progress.status === 'partial') {
|
||||||
|
const heading = progress.status === 'partial'
|
||||||
|
? 'Some commit messages could not be rewritten. Their paws remain.'
|
||||||
|
: 'The commit message could not be rewritten. Its paw remains.';
|
||||||
|
const details = progress.error ? `\n\n${String(progress.error).slice(0, 1200)}` : '';
|
||||||
|
alert(heading + details);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
titleEl.addEventListener('contextmenu', e => {
|
titleEl.addEventListener('contextmenu', e => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
if (titleEl.textContent !== 'No folder selected') {
|
if (titleEl.textContent !== 'No folder selected') {
|
||||||
|
|||||||
Reference in New Issue
Block a user