Codex found that a sync landing between the key swap and its removal would see the old key as unknown. Writing the test showed something worse than the duplicate he predicted: the adoption cannot even happen — the address still belongs to the live access — so the insert violated the unique index and took the ENTIRE reconciliation down with it. One stale key would have stopped every peer's state from updating. The sync now recognises that case and queues the removal instead of adopting, and a key with no row of its own is revoked with force: it can only ever be removed, never kept, so the removal cannot be talked out of it by a row that should not exist. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| AdminConsoleTest.php | ||
| AdminHostRestrictionTest.php | ||
| AdminSettingsTest.php | ||
| DatacenterTest.php | ||
| HostManagementTest.php | ||
| MaintenanceTest.php | ||
| ProvisioningActionsTest.php | ||
| RbacTest.php | ||
| VpnTest.php | ||