diff --git a/TalerWallet1/Views/TalDir/AliasView.swift b/TalerWallet1/Views/TalDir/AliasView.swift index c699c843..c7207e40 100644 --- a/TalerWallet1/Views/TalDir/AliasView.swift +++ b/TalerWallet1/Views/TalDir/AliasView.swift @@ -30,6 +30,7 @@ struct AliasView: View { @State private var challenge: String = EMPTYSTRING @State private var aliasTypes: [TaldirAliasType]? = nil @State private var validFor: Duration? = nil + @State private var requestedFor: Duration? = nil // what registerAlias asked for @State private var addContact: Bool = false // @ScaledMetric var frameHeight: CGFloat = 40 // relative to fontSize @@ -61,6 +62,7 @@ struct AliasView: View { duration: Duration.microseconds(microSeconds)) Task { do { + requestedFor = hasTarget ? nil : Duration.microseconds(microSeconds) if let result = try await model.registerAlias(register) { validFor = result } else { @@ -91,7 +93,7 @@ struct AliasView: View { try await model.completeRegisterAlias(register) challenge = EMPTYSTRING lookupState = targetUri.isEmpty ? .unregistered - : .confirmed(targetUri, Duration.microseconds(0)) + : .confirmed(targetUri, validFor ?? requestedFor ?? Duration.microseconds(0)) } catch { // it didn't succeed // TODO: show error print("confirm failed")