fix(federation): close detached-account gaps from final review — presence/hydrate guards, ack re-detect clear, self-delete password (detach spec §4.3/§4.4/§4.6)

This commit is contained in:
Jannis Braun
2026-07-02 19:34:32 +02:00
parent 172398171a
commit 13d050c1bb
10 changed files with 190 additions and 8 deletions
@@ -218,6 +218,10 @@ describe('FederationPanel — Reset cleanup', () => {
const removeBtn = await screen.findByRole('button', { name: 'Remove' });
fireEvent.click(removeBtn);
// The confirm dialog title uses the current "detached" vocabulary, not the
// legacy "Orphaned Account" wording.
expect(await screen.findByText('Remove detached account')).toBeInTheDocument();
const confirmBtn = await screen.findByRole('button', { name: 'Delete permanently' });
fireEvent.click(confirmBtn);
@@ -1095,7 +1095,7 @@ function ResetCleanup() {
isOpen={true}
onClose={() => { if (!actionLoading) setConfirmAction(null); }}
onConfirm={handleConfirm}
title={confirmAction.kind === 'repeer' ? 'Re-establish Federation' : 'Remove Orphaned Account'}
title={confirmAction.kind === 'repeer' ? 'Re-establish Federation' : 'Remove detached account'}
description={
confirmAction.kind === 'repeer'
? `This deletes the local peer record and starts a fresh authenticated handshake with ${confirmAction.peer.origin}. The remote must be reachable and (if it does not auto-accept) approve the request.`