Show accepted signup delivery without a second send step (#62)

This commit is contained in:
Stephan D committed 2026-10-23 09:34:30 +02:00
1 parent e84d2d1ad3
commit 3af60f38b1
19 files changed
+421 -69

No files matched your search

@@ -51,7 +51,6 @@ class BackendAuthServices
final _pending = <String, ({String token, String challengeId})>{};
final _grants = <String, AuthSession>{};
final _retryKeys = <String, String>{};
String? _queuedSignup;
AuthSession? _session;
AuthSession? get session => _session;
@override
@@ -113,9 +112,8 @@ class BackendAuthServices
'locale': r.locale,
'idempotencyKey': key,
});
final result = BackendMapper.signup(dto);
final result = BackendMapper.signup(dto, email: email);
_retryKeys.remove('signup:$email');
_queuedSignup = email;
return result;
}
@@ -141,14 +139,6 @@ class BackendAuthServices
required String locale,
}) async {
final normalized = email.trim().toLowerCase();
// Signup already queued this email. The existing confirmation page requests
// its initial delivery on mount; consume that receipt once.
if (_queuedSignup == normalized) {
_queuedSignup = null;
return VerificationMapper.fromDTO(
const VerificationDTO(simulated: false),
);
}
final key = _retryKeys.putIfAbsent('activation:$normalized', _key);
try {
await _post('verification/send', {