- Image viewer controls (fit / 1:1 / rotate) now have handlers and reset per case (were dead buttons). - 'auto-entry deactivate' is scoped to the selected case's sourceSubmissionId (was deactivating an arbitrary global entry). - dismissCollectionCandidate persists via a real endpoint (was a local splice that resurrected on the next refresh). - setDecision has an in-flight guard; rerunSelectedEnrichment / applyCoverageFilter get null guards and a best-effort refresh on partial failure; deactivateCorrectionEntry skips already-inactive entries, tolerates per-entry failures, and always refreshes (guarded). - executeSuggestedQueries / runCandidateCollection commit only after success so a failed run doesn't wipe the previous view; applyBootstrap clears a stale error banner; renderCorrections guards derivedEntries. - riskClass allowlists the band and case/similar/face-crop URLs route through safeUrl (XSS defence-in-depth). |
||
|---|---|---|
| .. | ||
| assets | ||
| pitch-assets | ||
| app.js | ||
| evidence-guidance.js | ||
| index.html | ||
| operator-labels.js | ||
| operator-search.js | ||
| pitch.css | ||
| pitch.html | ||
| pitch.js | ||
| styles.css | ||
| submission-import.js | ||