v0.297.0: burn-down round 2 — 24 small rows (R-591 R-568 R-567 R-363 R-547 R-10 R-552 R-251 R-104 R-619 R-362 R-675 R-256 R-257 R-240 R-365 R-425 R-565 R-564 R-603 R-454 R-208 R-457-swept) + the banner countdown and deepCopyStack twins; MinAgent 0.131.0
gates / gates (push) Failing after 50s
gates / gates (push) Failing after 50s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
@@ -133,3 +133,22 @@ func (m *Manager) persistRestoreRecordLocked() {
|
||||
m.logger.Printf("[WARN] [backup] could not persist the restore record to %s: %v (kept in memory)", m.opRecordPath, err)
|
||||
}
|
||||
}
|
||||
|
||||
// ClearInterruptedRestore drops an app's standing interrupted-restore notice and persists the record
|
||||
// (R-552). Called when the app is REMOVED: the notice asks the household to run the restore again,
|
||||
// and for an app that no longer exists that is a card about nothing, shown for ever — before this,
|
||||
// only a new restore of the same app (BeginRestoreOp) ever cleared it. Reports whether a notice was
|
||||
// there. Pinned by TestClearInterruptedRestore_DropsTheNoticeAndPersists.
|
||||
func (m *Manager) ClearInterruptedRestore(stack string) bool {
|
||||
if m == nil || stack == "" {
|
||||
return false
|
||||
}
|
||||
m.mu.Lock()
|
||||
defer m.mu.Unlock()
|
||||
if _, ok := m.opInterrupted[stack]; !ok {
|
||||
return false
|
||||
}
|
||||
delete(m.opInterrupted, stack)
|
||||
m.persistRestoreRecordLocked()
|
||||
return true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user