mirror of
https://github.com/okieselbach/AutopilotMonitor.git
synced 2026-10-26 13:39:41 +00:00
3a62d86b77
Two findings from the post-commit Codex review of PR2 (single-row restore): Medium — CriticalTableRestoreService.CommitRowAsync now maps the MaintenanceLeaseHolder's renewal-loss path to BackupTerminalException "MaintenanceLeaseLost" (HTTP 409 Conflict), instead of letting the storage SDK's OperationCanceledException bubble up to the HTTP layer's generic catch as a 500 InternalError. The catch condition gates on !ct.IsCancellationRequested so a real client cancel still re-throws. Low — RestoreInputRow (admin/backups/[backupId]/page.tsx) used to disable the Preview button on empty pk/rk. The backend contract (RestoreTablePreflightValidator) explicitly allows empty-string keys (Azure Tables permits them) and only rejects null. UI now mirrors that. Added a regression test pinning the empty-keys-allowed contract. 1980/1980 backend tests + 390/390 web tests green. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>