Sweep all .cshtml files for encoding corruption; add pre-commit guard
Replace all corruption variants with HTML entities across 226 view files: - 3-char UTF-8-as-Win1252 sequences (ae-corruption) - Standalone smart/curly quotes that break C# Razor expressions - Partially re-corrupted variants where the 3rd byte was normalised to ASCII tools/Fix-Encoding.ps1: re-runnable sweep; uses [char] code points so the script itself never contains a literal non-ASCII character; supports -DryRun .githooks/pre-commit: blocks commits containing the ae-corruption byte signature (xc3xa2xe2x82xac); git core.hooksPath = .githooks so the hook is repo-committed and active for all future work on this machine. Build clean; 225 unit tests pass. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
var otherJobs = ViewBag.OtherJobs as List<ScanJobOption> ?? new();
|
||||
var preselectedJobId = ViewBag.PreselectedJobId as int?;
|
||||
var scanError = ViewBag.ScanError as string;
|
||||
ViewData["Title"] = $"Log Usage — {item?.Name}";
|
||||
ViewData["Title"] = $"Log Usage — {item?.Name}";
|
||||
Layout = null; // mobile-first standalone page
|
||||
}
|
||||
<!DOCTYPE html>
|
||||
@@ -14,7 +14,7 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
|
||||
<title>Log Usage — @item?.Name</title>
|
||||
<title>Log Usage — @item?.Name</title>
|
||||
<style>
|
||||
:root {
|
||||
--purple: #6f42c1;
|
||||
@@ -312,7 +312,7 @@
|
||||
|
||||
<div id="listNone" style="display:none">
|
||||
<div class="no-job-opt selected" onclick="selectNoJob(this)">
|
||||
No job — log as general usage
|
||||
No job — log as general usage
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@@ -363,7 +363,7 @@
|
||||
<div class="field">
|
||||
<label for="notesInput">Notes <span style="font-weight:400;color:var(--muted)">(optional)</span></label>
|
||||
<textarea id="notesInput" name="notes" rows="2"
|
||||
placeholder="Any additional details…" maxlength="500"
|
||||
placeholder="Any additional details…" maxlength="500"
|
||||
style="font-size:16px;resize:none"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
@@ -505,7 +505,7 @@
|
||||
|
||||
var btn = document.getElementById('submitBtn');
|
||||
btn.disabled = true;
|
||||
btn.textContent = 'Saving…';
|
||||
btn.textContent = 'Saving…';
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user