diff --git a/src/stowarr/web/app.js b/src/stowarr/web/app.js index 4c83f87..2027afd 100644 --- a/src/stowarr/web/app.js +++ b/src/stowarr/web/app.js @@ -653,7 +653,7 @@ function renderRecovery(){ :arr.error||'No exact *Arr mapping found' :'Not checked'; const diagnosisMarkup=diagnosis?`
${esc(recommendation?.summary||'Inspection complete')}
qBittorrent
${esc(qbitSummary)}
*Arr
${esc(arrSummary)}
Result
${esc(String(recommendation?.code||'manual review').replaceAll('_',' '))}

This diagnosis is read-only and does not replace a qBittorrent force recheck or a manual file-content inspection.

`:''; - return `
${badge(operation.kind)}${esc(operation.public_id)} · ${esc(detail.torrent_name||operation.torrent_hash)}Interrupted after ${esc(String(prior).replaceAll('_',' '))}
${diagnosisMarkup}
`; + return `
${badge(operation.kind)}${esc(operation.public_id)} · ${esc(detail.torrent_name||operation.torrent_hash)}Interrupted after ${esc(String(prior).replaceAll('_',' '))}
${diagnosisMarkup}
`; }).join(''); } @@ -687,6 +687,10 @@ async function resolveRecovery(publicId){ } function automaticallyTrackRunningQueue(){ + if(state.recovery?.required){ + if(state.operationTracking)finishOperationTracking(); + return; + } const runningMove=(state.queue||[]).find(item=>item.state==='RUNNING'); const runningReconcile=(state.reconcileQueue||[]).find(item=>item.state==='RUNNING'); const running=runningMove||runningReconcile; @@ -1164,6 +1168,14 @@ document.addEventListener('click',event=>{ if(diagnose)diagnoseRecovery(diagnose.dataset.publicId); const resolve=event.target.closest('.resolve-recovery'); if(resolve)resolveRecovery(resolve.dataset.publicId); + const recoveryPreset=event.target.closest('.recovery-note-preset'); + if(recoveryPreset){ + const input=$(`.recovery-note[data-public-id="${CSS.escape(recoveryPreset.dataset.publicId)}"]`); + if(input){ + input.value='qBittorrent force recheck passed'; + input.focus(); + } + } const cancel=event.target.closest('.cancel-queue'); if(cancel)cancelQueue(cancel.dataset.queueId,cancel.dataset.kind); }); diff --git a/src/stowarr/web/routing.css b/src/stowarr/web/routing.css index 658d428..e2d9813 100644 --- a/src/stowarr/web/routing.css +++ b/src/stowarr/web/routing.css @@ -1675,6 +1675,17 @@ font-size: 12px; } +.recovery-resolution label small { + color: var(--muted); + font-size: 11px; +} + +.recovery-resolution-actions { + align-items: end; + display: flex; + gap: 8px; +} + .recovery-note { background: #1b1d1f; border: 1px solid #555a60;