fix(app): no address in debug logs, and deleting goes on whatever reading the account met

The reading of the full reading's fixes found that SignInWaysState kept
Equatable's default text, which debug builds log with the address, and
that an unreadable sign_in.json logged its FormatException, whose message
holds the file's text; and that the account section's Delete caught only
refusals, so a keyring that couldn't be read escaped and the tap did
nothing.

The state says only whether an address is kept; the file's error logs its
type alone. Reading what keeps the account counts the keys as not here
where the keyring can't be read, and Delete goes on whatever the reading
met, failing as the session bloc says if it must.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-21 16:38:36 +02:00
commit 28fb6c0309
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -1,3 +1,5 @@
import 'dart:developer';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:halkyon_app/l10n/halkyon_app_localizations.dart';
import 'package:halkyon_app/src/app/app_scope.dart';
@ -129,8 +131,13 @@ class const AccountTiles({
final AccountSecurity? security;
try {
security = identified ? await passwords.security() : null;
} on PasswordFailed {
// Unreachable: deleting would fail too, as the session bloc says.
} on Object catch (error) {
// Unreachable, or anything else (the reading of the fixes: a failure
// that isn't a refusal escaped, and the tap did nothing): deleting
// goes on, and fails as the session bloc says if it must.
if (error is! PasswordFailed) {
log('Reading the account failed: ${error.runtimeType}', name: 'Auth');
}
session.add(const SessionEventDeleteRequested());
return;
}