From 31828c4d01b9997c5db06ac685d1aad739492392 Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Tue, 20 Jun 2023 11:15:30 +1000 Subject: [PATCH 01/29] Remodel invite code flow --- .../FirstRun/FirstRunDoneView.swift | 6 +- .../Components/FirstRun/FirstRunView.swift | 82 +++++++++++-------- .../Components/Settings/SettingsView.swift | 46 +++++------ 3 files changed, 78 insertions(+), 56 deletions(-) diff --git a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunDoneView.swift b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunDoneView.swift index 25534f09..0ca8fad0 100644 --- a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunDoneView.swift +++ b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunDoneView.swift @@ -12,7 +12,11 @@ struct FirstRunDoneView: View { @Environment(\.colorScheme) var colorScheme private var status: ResourceStatus { - app.state.gatewayProvisioningStatus + if app.state.lastGatewaySyncStatus == .succeeded { + return app.state.lastGatewaySyncStatus + } + + return app.state.gatewayProvisioningStatus } private var dottedLine: some View { diff --git a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift index 7ed01fb1..73275e26 100644 --- a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift +++ b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift @@ -46,26 +46,41 @@ struct FirstRunView: View { Spacer() - ValidatedFormField( - alignment: .center, - placeholder: "Enter your invite code", - field: app.state.inviteCodeFormField, - send: Address.forward( - send: app.send, - tag: AppAction.inviteCodeFormField - ), - caption: "Look for this in your welcome email.", - submitLabel: .go, - onSubmit: { - if app.state.inviteCodeFormField.isValid { - app.send(.pushFirstRunStep(.nickname)) + if let gatewayId = app.state.gatewayId { + VStack(spacing: AppTheme.unit2) { + HStack(spacing: AppTheme.unit2) { + Text("Invite code redeemed") + Image(systemName: "checkmark.circle") + .resizable() + .frame(width: 16, height: 16) + .opacity(0.5) } + .font(.body) + .bold() + + HStack(spacing: AppTheme.unit) { + Text("Gateway ID") + .bold() + Text(gatewayId) + } + .font(.caption) } - ) - .textFieldStyle(.roundedBorder) - .textInputAutocapitalization(.never) - .disableAutocorrection(true) - + .foregroundColor(.secondary) + } else { + ValidatedFormField( + alignment: .center, + placeholder: "Enter your invite code", + field: app.state.inviteCodeFormField, + send: Address.forward( + send: app.send, + tag: AppAction.inviteCodeFormField + ), + caption: "Look for this in your welcome email." + ) + .textFieldStyle(.roundedBorder) + .textInputAutocapitalization(.never) + .disableAutocorrection(true) + } if !app.state.inviteCodeFormField.hasFocus { Spacer() @@ -77,24 +92,27 @@ struct FirstRunView: View { } ) .buttonStyle(PillButtonStyle()) - .disabled(!app.state.inviteCodeFormField.isValid) + .disabled(app.state.gatewayId == nil) } // MARK: Use Offline - HStack(spacing: AppTheme.unit) { - Text("No invite code?") - .font(.caption) - .foregroundColor(.secondary) - - NavigationLink( - value: FirstRunStep.nickname, - label: { - Text("Use offline") + VStack { + if app.state.gatewayId == .none { + HStack(spacing: AppTheme.unit) { + Text("No invite code?") .font(.caption) + .foregroundColor(.secondary) + + NavigationLink( + value: FirstRunStep.nickname, + label: { + Text("Use offline") + .font(.caption) + } + ) } - ) - } - .padding( + } + }.padding( .init( top: 0, leading: 0, @@ -132,7 +150,7 @@ struct FirstRunView_Previews: PreviewProvider { static var previews: some View { FirstRunView( app: Store( - state: AppModel(), + state: AppModel(gatewayId: nil), environment: AppEnvironment() ) ) diff --git a/xcode/Subconscious/Shared/Components/Settings/SettingsView.swift b/xcode/Subconscious/Shared/Components/Settings/SettingsView.swift index 20caf3f9..737d1144 100644 --- a/xcode/Subconscious/Shared/Components/Settings/SettingsView.swift +++ b/xcode/Subconscious/Shared/Components/Settings/SettingsView.swift @@ -51,19 +51,29 @@ struct GatewayProvisioningSection: View { var body: some View { Section( content: { - ValidatedFormField( - placeholder: "Enter your invite code", - field: app.state.inviteCodeFormField, - send: Address.forward( - send: app.send, - tag: AppAction.inviteCodeFormField - ), - caption: "Look for this in your welcome email." - ) - .autocapitalization(.none) - .autocorrectionDisabled(true) - .onDisappear { - app.send(.setInviteCode(app.state.inviteCodeFormField.value)) + if let gatewayId = app.state.gatewayId { + LabeledContent( + "Gateway ID", + value: gatewayId + ) + .lineLimit(1) + .textSelection(.enabled) + } else { + ValidatedFormField( + placeholder: "Enter your invite code", + field: app.state.inviteCodeFormField, + send: Address.forward( + send: app.send, + tag: AppAction.inviteCodeFormField + ), + caption: "Look for this in your welcome email." + ) + .autocapitalization(.none) + .autocorrectionDisabled(true) + .onDisappear { + app.send(.setInviteCode(app.state.inviteCodeFormField.value)) + } + .disabled(app.state.gatewayProvisioningStatus == .pending) } .disabled(app.state.gatewayOperationInProgress) @@ -89,16 +99,6 @@ struct GatewayProvisioningSection: View { }, footer: { VStack { - if let gatewayId = app.state.gatewayId { - VStack(alignment: .leading) { - Text("Gateway ID") - .foregroundColor(.secondary) - .bold() - Text(gatewayId) - .foregroundColor(.secondary) - } - } - switch app.state.gatewayProvisioningStatus { case let .failed(message): Text(message) From 41923e65def82944548060c3d09e8eb48166a9dc Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Tue, 20 Jun 2023 11:40:51 +1000 Subject: [PATCH 02/29] Create sphere upfront, request gateway ID on blur --- .../Common/Forms/ValidatedTextField.swift | 2 ++ .../FirstRun/FirstRunProfileView.swift | 3 --- .../Components/FirstRun/FirstRunView.swift | 22 ++++++++++++++++++- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/xcode/Subconscious/Shared/Components/Common/Forms/ValidatedTextField.swift b/xcode/Subconscious/Shared/Components/Common/Forms/ValidatedTextField.swift index fdf2412a..282022ec 100644 --- a/xcode/Subconscious/Shared/Components/Common/Forms/ValidatedTextField.swift +++ b/xcode/Subconscious/Shared/Components/Common/Forms/ValidatedTextField.swift @@ -22,6 +22,7 @@ struct ValidatedFormField: View { var autoFocus: Bool = false var submitLabel: SubmitLabel = .done var onSubmit: () -> Void = {} + var onFocusChanged: (_ focused: Bool) -> Void = { _ in } var backgroundColor = Color.background @@ -59,6 +60,7 @@ struct ValidatedFormField: View { } .onChange(of: focused) { focused in send(.focusChange(focused: focused)) + onFocusChanged(focused) } .onChange(of: innerText, perform: { innerText in send(.setValue(input: innerText)) diff --git a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunProfileView.swift b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunProfileView.swift index 9b3dc423..33bb2ba4 100644 --- a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunProfileView.swift +++ b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunProfileView.swift @@ -65,9 +65,6 @@ struct FirstRunProfileView: View { AppTheme.onboarding .appBackgroundGradient(colorScheme) ) - .onAppear { - app.send(.createSphere) - } .onDisappear { guard let nickname = app.state.nicknameFormField.validated else { return diff --git a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift index 73275e26..e88b6b2f 100644 --- a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift +++ b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift @@ -75,13 +75,26 @@ struct FirstRunView: View { send: app.send, tag: AppAction.inviteCodeFormField ), - caption: "Look for this in your welcome email." + caption: "Look for this in your welcome email.", + onFocusChanged: { focused in + if let inviteCode = app.state.inviteCodeFormField.validated, + !focused { + app.send(.requestProvisionGateway(inviteCode)) + } + } ) .textFieldStyle(.roundedBorder) .textInputAutocapitalization(.never) .disableAutocorrection(true) } + switch app.state.gatewayProvisioningStatus { + case .failed(let msg): + Text("FAILED! \(msg)") + case _: + EmptyView() + } + if !app.state.inviteCodeFormField.hasFocus { Spacer() @@ -142,6 +155,13 @@ struct FirstRunView: View { FirstRunDoneView(app: app) } } + .onAppear { + guard app.state.sphereIdentity == nil else { + return + } + + app.send(.createSphere) + } } } } From 48895846c6494f83fd931929af8b110afef35c6b Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Tue, 20 Jun 2023 11:55:54 +1000 Subject: [PATCH 03/29] Playtesting UX rough edges --- .../Common/Forms/ValidatedTextField.swift | 13 +++++----- .../Components/FirstRun/FirstRunView.swift | 24 ++++++++++++------- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/xcode/Subconscious/Shared/Components/Common/Forms/ValidatedTextField.swift b/xcode/Subconscious/Shared/Components/Common/Forms/ValidatedTextField.swift index 282022ec..9cb6e023 100644 --- a/xcode/Subconscious/Shared/Components/Common/Forms/ValidatedTextField.swift +++ b/xcode/Subconscious/Shared/Components/Common/Forms/ValidatedTextField.swift @@ -23,6 +23,7 @@ struct ValidatedFormField: View { var submitLabel: SubmitLabel = .done var onSubmit: () -> Void = {} var onFocusChanged: (_ focused: Bool) -> Void = { _ in } + var isValid: Bool = true var backgroundColor = Color.background @@ -33,8 +34,8 @@ struct ValidatedFormField: View { return this } - var isValid: Bool { - !field.shouldPresentAsInvalid + var shouldRenderAsValid: Bool { + isValid && !field.shouldPresentAsInvalid } var body: some View { @@ -55,8 +56,8 @@ struct ValidatedFormField: View { .background(backgroundColor) } .padding(.trailing, 1) - .opacity(isValid ? 0 : 1) - .animation(.default, value: isValid) + .opacity(shouldRenderAsValid ? 0 : 1) + .animation(.default, value: shouldRenderAsValid) } .onChange(of: focused) { focused in send(.focusChange(focused: focused)) @@ -77,9 +78,9 @@ struct ValidatedFormField: View { } Text(caption) .foregroundColor( - isValid ? Color.secondary : Color.red + shouldRenderAsValid ? Color.secondary : Color.red ) - .animation(.default, value: isValid) + .animation(.default, value: shouldRenderAsValid) .font(.caption) } .onAppear { diff --git a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift index e88b6b2f..9bca3814 100644 --- a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift +++ b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift @@ -75,12 +75,27 @@ struct FirstRunView: View { send: app.send, tag: AppAction.inviteCodeFormField ), - caption: "Look for this in your welcome email.", + caption: Func.run { + switch app.state.gatewayProvisioningStatus { + case .failed(_): + return "Failed to redeem invite code" + case _: + return "Look for this in your welcome email" + } + }, onFocusChanged: { focused in if let inviteCode = app.state.inviteCodeFormField.validated, !focused { app.send(.requestProvisionGateway(inviteCode)) } + }, + isValid: Func.run { + switch app.state.gatewayProvisioningStatus { + case .failed(_): + return false + case _: + return true + } } ) .textFieldStyle(.roundedBorder) @@ -88,13 +103,6 @@ struct FirstRunView: View { .disableAutocorrection(true) } - switch app.state.gatewayProvisioningStatus { - case .failed(let msg): - Text("FAILED! \(msg)") - case _: - EmptyView() - } - if !app.state.inviteCodeFormField.hasFocus { Spacer() From faccb99842a2425d9e1b04a7758410a8d40a8aeb Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Tue, 20 Jun 2023 14:15:08 +1000 Subject: [PATCH 04/29] Formatting --- .../Shared/Components/Common/Forms/ValidatedTextField.swift | 2 ++ .../Subconscious/Shared/Components/FirstRun/FirstRunView.swift | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/xcode/Subconscious/Shared/Components/Common/Forms/ValidatedTextField.swift b/xcode/Subconscious/Shared/Components/Common/Forms/ValidatedTextField.swift index 9cb6e023..a6f21b0a 100644 --- a/xcode/Subconscious/Shared/Components/Common/Forms/ValidatedTextField.swift +++ b/xcode/Subconscious/Shared/Components/Common/Forms/ValidatedTextField.swift @@ -23,6 +23,8 @@ struct ValidatedFormField: View { var submitLabel: SubmitLabel = .done var onSubmit: () -> Void = {} var onFocusChanged: (_ focused: Bool) -> Void = { _ in } + + /// Indicate if this field should appear invalid due to a side effect failing etc. var isValid: Bool = true var backgroundColor = Color.background diff --git a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift index 9bca3814..7fd8f1c4 100644 --- a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift +++ b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift @@ -178,7 +178,7 @@ struct FirstRunView_Previews: PreviewProvider { static var previews: some View { FirstRunView( app: Store( - state: AppModel(gatewayId: nil), + state: AppModel(), environment: AppEnvironment() ) ) From 8ff988db08d79b011242cbcd15fa499ee19ca103 Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Tue, 20 Jun 2023 14:15:12 +1000 Subject: [PATCH 05/29] Update packges --- .../project.xcworkspace/xcshareddata/swiftpm/Package.resolved | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xcode/Subconscious/Subconscious.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/xcode/Subconscious/Subconscious.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 7fb4aec5..4c708be6 100644 --- a/xcode/Subconscious/Subconscious.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/xcode/Subconscious/Subconscious.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -5,8 +5,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/twostraws/CodeScanner", "state" : { - "revision" : "4b2f9c57d03bfe94e6b45572e0c908c1433c32b2", - "version" : "2.3.2" + "revision" : "d8f10d992ef32a4187b78a6df320facf75d631d8", + "version" : "2.3.1" } }, { From 4428daea6a71b3b52676b1175c6bbb1e6b99f21f Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Wed, 28 Jun 2023 11:52:12 +1000 Subject: [PATCH 06/29] Update packages --- .../project.xcworkspace/xcshareddata/swiftpm/Package.resolved | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xcode/Subconscious/Subconscious.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/xcode/Subconscious/Subconscious.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 4c708be6..7fb4aec5 100644 --- a/xcode/Subconscious/Subconscious.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/xcode/Subconscious/Subconscious.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -5,8 +5,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/twostraws/CodeScanner", "state" : { - "revision" : "d8f10d992ef32a4187b78a6df320facf75d631d8", - "version" : "2.3.1" + "revision" : "4b2f9c57d03bfe94e6b45572e0c908c1433c32b2", + "version" : "2.3.2" } }, { From 4bc8c036fd53cfc3395c23578eb6915e7698582f Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Wed, 28 Jun 2023 13:43:26 +1000 Subject: [PATCH 07/29] Re-arrange settings view --- .../Shared/Components/AppView.swift | 165 ++++++++++------- .../Common/Forms/ValidatedTextField.swift | 6 + .../Components/FirstRun/FirstRunView.swift | 12 +- .../Settings/GatewayURLSettingsView.swift | 169 ++++++++++++++++-- .../Components/Settings/SettingsView.swift | 70 -------- .../Services/GatewayProvisioningService.swift | 43 +++-- 6 files changed, 290 insertions(+), 175 deletions(-) diff --git a/xcode/Subconscious/Shared/Components/AppView.swift b/xcode/Subconscious/Shared/Components/AppView.swift index d775b421..09e97b9f 100644 --- a/xcode/Subconscious/Shared/Components/AppView.swift +++ b/xcode/Subconscious/Shared/Components/AppView.swift @@ -117,8 +117,6 @@ enum AppAction: CustomLogStringConvertible { case succeedFetchNicknameFromProfile(_ nickname: Petname.Name) case failFetchNicknameFromProfile(_ message: String) - case setInviteCode(_ inviteCode: String) - /// Set gateway URL case submitGatewayURL(_ url: URL) case submitGatewayURLForm @@ -212,9 +210,14 @@ enum AppAction: CustomLogStringConvertible { case succeedFollowDefaultGeist case failFollowDefaultGeist(String) + /// Invite code + case submitInviteCodeForm + case requestRedeemInviteCode(_ inviteCode: InviteCode) + case succeedRedeemInviteCode(_ gatewayId: String) + case failRedeemInviteCode(_ error: String) + + /// Check gateway case submitProvisionGatewayForm - case requestProvisionGateway(_ inviteCode: InviteCode) - case receiveGatewayId(_ gatewayId: String) case requestGatewayProvisioningStatus case succeedProvisionGateway(_ gatewayURL: URL) case failProvisionGateway(_ error: String) @@ -378,10 +381,8 @@ struct InviteCodeFormFieldCursor: CursorProtocol { static func tag(_ action: ViewModel.Action) -> Model.Action { switch action { - case .setValue(let input): - return .setInviteCode(input) default: - return .nicknameFormField(action) + return .inviteCodeFormField(action) } } } @@ -445,10 +446,12 @@ struct AppModel: ModelProtocol { validate: { value in Petname.Name(value) } ) + var inviteCode: InviteCode? var inviteCodeFormField = InviteCodeFormField( value: "", validate: { value in InviteCode(value) } ) + var inviteCodeRedemptionStatus = ResourceStatus.initial var gatewayProvisioningStatus = ResourceStatus.initial /// Default sphere identity @@ -492,6 +495,7 @@ struct AppModel: ModelProtocol { var gatewayOperationInProgress: Bool { lastGatewaySyncStatus == .pending || + inviteCodeRedemptionStatus == .pending || gatewayProvisioningStatus == .pending } @@ -580,12 +584,6 @@ struct AppModel: ModelProtocol { environment: environment, isUpgraded: isUpgraded ) - case let .setInviteCode(inviteCode): - return setInviteCode( - state: state, - environment: environment, - text: inviteCode - ) case .createSphere: return createSphere( state: state, @@ -854,34 +852,39 @@ struct AppModel: ModelProtocol { logger.error("Failed to follow default geist: \(error)") return Update(state: state) - case .submitProvisionGatewayForm: - switch (state.inviteCodeFormField.validated, state.gatewayId) { - case (.some(let inviteCode), .none): - return update( - state: state, - action: .requestProvisionGateway(inviteCode), - environment: environment - ) - case _: - return update( - state: state, - action: .requestGatewayProvisioningStatus, - environment: environment - ) + case .submitInviteCodeForm: + guard let inviteCode = state.inviteCodeFormField.validated else { + logger.log("Invalid invite code submitted") + return Update(state: state) } - case .requestProvisionGateway(let inviteCode): - return requestProvisionGateway( + + return update( + state: state, + action: .requestRedeemInviteCode(inviteCode), + environment: environment + ) + case .requestRedeemInviteCode(let inviteCode): + return requestRedeemInviteCode( state: state, environment: environment, inviteCode: inviteCode ) - case .receiveGatewayId(let gatewayId): - var model = state - model.gatewayId = gatewayId - AppDefaults.standard.gatewayId = gatewayId - + case .succeedRedeemInviteCode(let gatewayId): + return succeedRedeemInviteCode( + state: state, + environment: environment, + gatewayId: gatewayId + ) + case .failRedeemInviteCode(let error): + return failRedeemInviteCode( + state: state, + environment: environment, + error: error + ) + case .submitProvisionGatewayForm: + // Superfluous event? return update( - state: model, + state: state, action: .requestGatewayProvisioningStatus, environment: environment ) @@ -937,6 +940,7 @@ struct AppModel: ModelProtocol { model.gatewayURL = AppDefaults.standard.gatewayURL model.gatewayId = AppDefaults.standard.gatewayId + model.inviteCode = InviteCode(AppDefaults.standard.inviteCode ?? "") // Update model from app defaults return update( @@ -948,9 +952,6 @@ struct AppModel: ModelProtocol { .notifyFirstRunComplete( AppDefaults.standard.firstRunComplete ), - .inviteCodeFormField( - .setValue(input: AppDefaults.standard.inviteCode ?? "") - ), .gatewayURLField( .setValue(input: AppDefaults.standard.gatewayURL) ) @@ -1084,21 +1085,6 @@ struct AppModel: ModelProtocol { return Update(state: state, fx: fx) } - static func setInviteCode( - state: AppModel, - environment: AppEnvironment, - text: String - ) -> Update { - - return update( - state: state, - actions: [ - .inviteCodeFormField(.setValue(input: text)) - ], - environment: environment - ) - } - static func submitGatewayURL( state: AppModel, environment: AppEnvironment, @@ -1106,7 +1092,16 @@ struct AppModel: ModelProtocol { ) -> Update { guard state.gatewayURL != url.absoluteString else { logger.log("Gateway URL is identical to current value, doing nothing") - return Update(state: state) + return update( + state: state, + actions: [ + .gatewayURLField(.reset), + .gatewayURLField( + .setValue(input: url.absoluteString) + ) + ], + environment: environment + ) } var model = state @@ -1123,9 +1118,12 @@ struct AppModel: ModelProtocol { return update( state: model, - action: .gatewayURLField( - .setValue(input: url.absoluteString) - ), + actions: [ + .gatewayURLField(.reset), + .gatewayURLField( + .setValue(input: url.absoluteString) + ) + ], environment: environment ) .mergeFx(fx) @@ -1184,16 +1182,12 @@ struct AppModel: ModelProtocol { environment: AppEnvironment, receipt: SphereReceipt ) -> Update { - var actions: [AppAction] = [ + let actions: [AppAction] = [ .setSphereIdentity(receipt.identity), .setRecoveryPhrase(receipt.mnemonic), .followDefaultGeist, ] - if let inviteCode = state.inviteCodeFormField.validated { - actions.append(.requestProvisionGateway(inviteCode)) - } - return update( state: state, actions: actions, @@ -1849,31 +1843,33 @@ struct AppModel: ModelProtocol { return Update(state: state, fx: fx) } - static func requestProvisionGateway( + static func requestRedeemInviteCode( state: AppModel, environment: AppEnvironment, inviteCode: InviteCode ) -> Update { guard let did = state.sphereIdentity, let did = Did(did) else { + logger.error("Missing identity, cannot redeem invite code") return Update(state: state) } let fx: Fx = environment.gatewayProvisioningService - .provisionGatewayPublisher( + .redeemInviteCodePublisher( inviteCode: inviteCode, sphere: did ) .map { res in - .receiveGatewayId(res.gateway_id) + .succeedRedeemInviteCode(res.gateway_id) } .recover { error in - .failProvisionGateway(error.localizedDescription) + .failRedeemInviteCode(error.localizedDescription) } .eraseToAnyPublisher() var model = state - model.gatewayProvisioningStatus = .pending + model.inviteCodeRedemptionStatus = .pending + model.inviteCode = inviteCode AppDefaults.standard.inviteCode = inviteCode.description return Update(state: model, fx: fx) @@ -1909,6 +1905,26 @@ struct AppModel: ModelProtocol { return Update(state: model, fx: fx) } + static func succeedRedeemInviteCode( + state: AppModel, + environment: AppEnvironment, + gatewayId: String + ) -> Update { + var model = state + model.gatewayId = gatewayId + model.inviteCodeRedemptionStatus = .succeeded + AppDefaults.standard.gatewayId = gatewayId + + return update( + state: model, + actions: [ + .inviteCodeFormField(.reset), + .requestGatewayProvisioningStatus + ], + environment: environment + ) + } + static func succeedProvisionGateway( state: AppModel, environment: AppEnvironment, @@ -1927,12 +1943,25 @@ struct AppModel: ModelProtocol { ) } + static func failRedeemInviteCode( + state: AppModel, + environment: AppEnvironment, + error: String + ) -> Update { + logger.error("Failed to redeem invite code: \(error)") + var model = state + model.inviteCodeRedemptionStatus = .failed(error) + + return Update(state: model) + } + + static func failProvisionGateway( state: AppModel, environment: AppEnvironment, error: String ) -> Update { - logger.error("Failed to provision gateway: \(error)") + logger.error("Failed to check gateway status: \(error)") var model = state model.gatewayProvisioningStatus = .failed(error) diff --git a/xcode/Subconscious/Shared/Components/Common/Forms/ValidatedTextField.swift b/xcode/Subconscious/Shared/Components/Common/Forms/ValidatedTextField.swift index a6f21b0a..0813511c 100644 --- a/xcode/Subconscious/Shared/Components/Common/Forms/ValidatedTextField.swift +++ b/xcode/Subconscious/Shared/Components/Common/Forms/ValidatedTextField.swift @@ -68,6 +68,12 @@ struct ValidatedFormField: View { .onChange(of: innerText, perform: { innerText in send(.setValue(input: innerText)) }) + .onChange(of: field, perform: { field in + // AKA field has been reset + if !field.touched && innerText != field.value { + innerText = field.value + } + }) .submitLabel(submitLabel) .onSubmit { onSubmit() diff --git a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift index 7fd8f1c4..7187aa02 100644 --- a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift +++ b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift @@ -76,21 +76,21 @@ struct FirstRunView: View { tag: AppAction.inviteCodeFormField ), caption: Func.run { - switch app.state.gatewayProvisioningStatus { + switch app.state.inviteCodeRedemptionStatus { case .failed(_): return "Failed to redeem invite code" case _: - return "Look for this in your welcome email" + return "Your ticket to the Noosphere" } }, onFocusChanged: { focused in - if let inviteCode = app.state.inviteCodeFormField.validated, - !focused { - app.send(.requestProvisionGateway(inviteCode)) + // User finished editing the field + if !focused { + app.send(.submitInviteCodeForm) } }, isValid: Func.run { - switch app.state.gatewayProvisioningStatus { + switch app.state.inviteCodeRedemptionStatus { case .failed(_): return false case _: diff --git a/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift b/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift index 1acddd6f..916ecee2 100644 --- a/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift +++ b/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift @@ -44,25 +44,54 @@ struct ResourceSyncBadge: View { } } +struct RedeemInviteCodeLabel: View { + var status: ResourceStatus + + var label: String { + switch (status) { + case .initial: + return "Redeem Invite Code" + case .pending: + return "Redeeming..." + case .failed: + return "Failed to Redeem Invite Code" + case .succeeded: + return "Code Redeemed" + } + } + + var color: Color { + switch status { + case .failed: + return .red + default: + return .accentColor + } + } + + var body: some View { + Label(title: { + Text(label) + }, icon: { + ResourceSyncBadge(status: status) + }) + .foregroundColor(color) + } +} + struct GatewayProvisionLabel: View { var status: ResourceStatus - var inviteCode: InviteCode? - var gatewayId: String? var label: String { - switch (status, inviteCode, gatewayId) { - case (.initial, .some(_), .some): + switch (status) { + case .initial: return "Check Gateway Status" - case (.pending, .some, .none): - return "Redeeming Invite Code..." - case (.pending, .some, .some): + case .pending: return "Waiting..." - case (.failed, _, .none): - return "Failed to Redeem Invite Code" - case (.failed, _, .some): - return "Provisioning Failed" - case (.succeeded, _, _): + case .failed: + return "Gateway Error" + case .succeeded: return "Gateway Ready" case _: return "Provision Gateway" @@ -88,6 +117,114 @@ struct GatewayProvisionLabel: View { } } +// MARK: Provisioning + +struct InviteCodeSection: View { + @ObservedObject var app: Store + + var body: some View { + Section( + content: { + ValidatedFormField( + placeholder: "Enter an invite code", + field: app.state.inviteCodeFormField, + send: Address.forward( + send: app.send, + tag: AppAction.inviteCodeFormField + ), + caption: "Your ticket to the Noosphere" + ) + .autocapitalization(.none) + .autocorrectionDisabled(true) + .disabled(app.state.gatewayOperationInProgress) + + Button( + action: { + app.send(.submitInviteCodeForm) + }, + label: { + RedeemInviteCodeLabel( + status: app.state.inviteCodeRedemptionStatus + ) + } + ) + .disabled( + !app.state.inviteCodeFormField.isValid || + app.state.gatewayOperationInProgress + ) + }, + header: { + Text("Invite Code") + }, + footer: { + VStack { + switch app.state.gatewayProvisioningStatus { + case let .failed(message): + Text(message) + default: + EmptyView() + } + + } + } + ) + } +} + +struct GatewayProvisioningSection: View { + @ObservedObject var app: Store + var gatewayId: String + + var body: some View { + Section( + content: { + LabeledContent( + "Gateway ID", + value: gatewayId + ) + .lineLimit(1) + .textSelection(.enabled) + + if let inviteCode = app.state.inviteCode { + LabeledContent( + "Invite Code", + value: inviteCode.description + ) + .lineLimit(1) + .textSelection(.enabled) + } + + Button( + action: { + app.send(.submitProvisionGatewayForm) + }, + label: { + GatewayProvisionLabel( + status: app.state.gatewayProvisioningStatus + ) + } + ) + .disabled(app.state.gatewayOperationInProgress) + }, + header: { + Text("Provision Gateway") + }, + footer: { + VStack { + switch app.state.gatewayProvisioningStatus { + case let .failed(message): + Text(message) + default: + EmptyView() + } + + } + } + ) + } +} + + struct GatewayURLSettingsView: View { @ObservedObject var app: Store @@ -128,7 +265,7 @@ struct GatewayURLSettingsView: View { app.state.gatewayOperationInProgress ) }, header: { - Text("Gateway") + Text("Gateway URL") }, footer: { switch app.state.lastGatewaySyncStatus { case let .failed(message): @@ -138,8 +275,14 @@ struct GatewayURLSettingsView: View { } } ) + + if let gatewayId = app.state.gatewayId { + GatewayProvisioningSection(app: app, gatewayId: gatewayId) + } + InviteCodeSection(app: app) } .navigationTitle("Gateway URL") + } } diff --git a/xcode/Subconscious/Shared/Components/Settings/SettingsView.swift b/xcode/Subconscious/Shared/Components/Settings/SettingsView.swift index 737d1144..257c27a6 100644 --- a/xcode/Subconscious/Shared/Components/Settings/SettingsView.swift +++ b/xcode/Subconscious/Shared/Components/Settings/SettingsView.swift @@ -43,74 +43,6 @@ struct GatewaySyncLabel: View { } } -// MARK: Provisioning - -struct GatewayProvisioningSection: View { - @ObservedObject var app: Store - - var body: some View { - Section( - content: { - if let gatewayId = app.state.gatewayId { - LabeledContent( - "Gateway ID", - value: gatewayId - ) - .lineLimit(1) - .textSelection(.enabled) - } else { - ValidatedFormField( - placeholder: "Enter your invite code", - field: app.state.inviteCodeFormField, - send: Address.forward( - send: app.send, - tag: AppAction.inviteCodeFormField - ), - caption: "Look for this in your welcome email." - ) - .autocapitalization(.none) - .autocorrectionDisabled(true) - .onDisappear { - app.send(.setInviteCode(app.state.inviteCodeFormField.value)) - } - .disabled(app.state.gatewayProvisioningStatus == .pending) - } - .disabled(app.state.gatewayOperationInProgress) - - Button( - action: { - app.send(.submitProvisionGatewayForm) - }, - label: { - GatewayProvisionLabel( - status: app.state.gatewayProvisioningStatus, - inviteCode: app.state.inviteCodeFormField.validated, - gatewayId: app.state.gatewayId - ) - } - ) - .disabled( - !app.state.inviteCodeFormField.isValid || - app.state.gatewayOperationInProgress - ) - }, - header: { - Text("Provision Gateway") - }, - footer: { - VStack { - switch app.state.gatewayProvisioningStatus { - case let .failed(message): - Text(message) - default: - EmptyView() - } - - } - } - ) - } -} // MARK: Settings @@ -173,8 +105,6 @@ struct SettingsView: View { } ) - GatewayProvisioningSection(app: app) - SwiftUI.Link( destination: Config.default.feedbackURL, label: { diff --git a/xcode/Subconscious/Shared/Services/GatewayProvisioningService.swift b/xcode/Subconscious/Shared/Services/GatewayProvisioningService.swift index 35ccc7bf..075bb407 100644 --- a/xcode/Subconscious/Shared/Services/GatewayProvisioningService.swift +++ b/xcode/Subconscious/Shared/Services/GatewayProvisioningService.swift @@ -9,16 +9,17 @@ import Foundation import Combine import os -struct ProvisionGatewayRequest: Codable { +struct RedeemInviteCodeRequest: Codable { var invite_code: String var sphere: String } -struct ProvisionGatewayErrorResponse: Codable { +struct ErrorResponse: Codable { var error: String? + var type: String? } -struct ProvisionGatewayResponse: Codable { +struct RedeemInviteCodeResponse: Codable { var gateway_id: String } @@ -29,6 +30,7 @@ struct ProvisionGatewayStatusResponse: Codable { } enum GatewayProvisioningServiceError: Error { + case failedToRedeemInviteCode(String) case failedToProvisionGateway(String) case failedToCheckGatewayProvisioningStatus(String) case gatewayIsNotReady @@ -38,14 +40,19 @@ enum GatewayProvisioningServiceError: Error { extension GatewayProvisioningServiceError: LocalizedError { var errorDescription: String? { switch self { - case .failedToProvisionGateway(let contentType): + case .failedToRedeemInviteCode(let error): return String( - localized: "Failed to provision gateway: \(contentType)", + localized: "Failed to redeem invite code: \(error)", comment: "GatewayProvisioningService error description" ) - case .failedToCheckGatewayProvisioningStatus(let contentType): + case .failedToProvisionGateway(let error): return String( - localized: "Failed to check gateway status: \(contentType)", + localized: "Failed to provision gateway: \(error)", + comment: "GatewayProvisioningService error description" + ) + case .failedToCheckGatewayProvisioningStatus(let error): + return String( + localized: "Failed to check gateway status: \(error)", comment: "GatewayProvisioningService error description" ) case .gatewayIsNotReady: @@ -86,16 +93,16 @@ actor GatewayProvisioningService { self.jsonDecoder = JSONDecoder() } - func provisionGateway( + func redeemInviteCode( inviteCode: InviteCode, sphere: Did - ) async throws -> ProvisionGatewayResponse { + ) async throws -> RedeemInviteCodeResponse { var request = URLRequest(url: Self.provisionGatewayEndpoint) request.httpMethod = "POST" request.setValue("application/json", forHTTPHeaderField: "Content-Type") - let body = ProvisionGatewayRequest( + let body = RedeemInviteCodeRequest( invite_code: inviteCode.description, sphere: sphere.description ) @@ -103,30 +110,30 @@ actor GatewayProvisioningService { let (data, response) = try await URLSession.shared.data(for: request) guard let response = response as? HTTPURLResponse else { - throw GatewayProvisioningServiceError.failedToProvisionGateway( + throw GatewayProvisioningServiceError.failedToRedeemInviteCode( "Could not read response" ) } guard response.success else { let responseBody = try self.jsonDecoder.decode( - ProvisionGatewayErrorResponse.self, + ErrorResponse.self, from: data ) if let error = responseBody.error { - throw GatewayProvisioningServiceError.failedToProvisionGateway( + throw GatewayProvisioningServiceError.failedToRedeemInviteCode( "HTTP \(response.statusCode): \(error)" ) } else { - throw GatewayProvisioningServiceError.failedToProvisionGateway( + throw GatewayProvisioningServiceError.failedToRedeemInviteCode( "Unexpected status code \(response.statusCode)" ) } } return try self.jsonDecoder.decode( - ProvisionGatewayResponse.self, + RedeemInviteCodeResponse.self, from: data ) } @@ -196,12 +203,12 @@ actor GatewayProvisioningService { .eraseToAnyPublisher() } - nonisolated func provisionGatewayPublisher( + nonisolated func redeemInviteCodePublisher( inviteCode: InviteCode, sphere: Did - ) -> AnyPublisher { + ) -> AnyPublisher { Future.detached { - try await self.provisionGateway(inviteCode: inviteCode, sphere: sphere) + try await self.redeemInviteCode(inviteCode: inviteCode, sphere: sphere) } .eraseToAnyPublisher() } From f7cc299067ef408808885c156e5041c5baeaa412 Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Wed, 28 Jun 2023 13:55:28 +1000 Subject: [PATCH 08/29] Formatting --- .../Shared/Components/Settings/GatewayURLSettingsView.swift | 4 ++-- .../Shared/Components/Settings/SettingsView.swift | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift b/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift index 916ecee2..971f4e1f 100644 --- a/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift +++ b/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift @@ -207,7 +207,7 @@ struct GatewayProvisioningSection: View { .disabled(app.state.gatewayOperationInProgress) }, header: { - Text("Provision Gateway") + Text("Your Gateway") }, footer: { VStack { @@ -224,7 +224,6 @@ struct GatewayProvisioningSection: View { } } - struct GatewayURLSettingsView: View { @ObservedObject var app: Store @@ -279,6 +278,7 @@ struct GatewayURLSettingsView: View { if let gatewayId = app.state.gatewayId { GatewayProvisioningSection(app: app, gatewayId: gatewayId) } + InviteCodeSection(app: app) } .navigationTitle("Gateway URL") diff --git a/xcode/Subconscious/Shared/Components/Settings/SettingsView.swift b/xcode/Subconscious/Shared/Components/Settings/SettingsView.swift index 257c27a6..ebf15ef4 100644 --- a/xcode/Subconscious/Shared/Components/Settings/SettingsView.swift +++ b/xcode/Subconscious/Shared/Components/Settings/SettingsView.swift @@ -43,7 +43,6 @@ struct GatewaySyncLabel: View { } } - // MARK: Settings struct SettingsView: View { From 84b70fd6e73f4320b6943612665b083a97ea85c5 Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Wed, 28 Jun 2023 15:05:28 +1000 Subject: [PATCH 09/29] Formatting and copy --- .../Components/Common/Forms/ValidatedTextField.swift | 11 +++++------ .../Shared/Components/FirstRun/FirstRunView.swift | 2 +- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/xcode/Subconscious/Shared/Components/Common/Forms/ValidatedTextField.swift b/xcode/Subconscious/Shared/Components/Common/Forms/ValidatedTextField.swift index 0813511c..c2fab9d8 100644 --- a/xcode/Subconscious/Shared/Components/Common/Forms/ValidatedTextField.swift +++ b/xcode/Subconscious/Shared/Components/Common/Forms/ValidatedTextField.swift @@ -65,16 +65,15 @@ struct ValidatedFormField: View { send(.focusChange(focused: focused)) onFocusChanged(focused) } - .onChange(of: innerText, perform: { innerText in + .onChange(of: innerText) { innerText in send(.setValue(input: innerText)) - }) - .onChange(of: field, perform: { field in - // AKA field has been reset + } + .onChange(of: field) { field in + // The has been reset, sync inner value if !field.touched && innerText != field.value { innerText = field.value } - }) - .submitLabel(submitLabel) + } .onSubmit { onSubmit() } diff --git a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift index 7187aa02..2b9a24b6 100644 --- a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift +++ b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift @@ -78,7 +78,7 @@ struct FirstRunView: View { caption: Func.run { switch app.state.inviteCodeRedemptionStatus { case .failed(_): - return "Failed to redeem invite code" + return "Could not redeem invite code" case _: return "Your ticket to the Noosphere" } From 24e49b540c258d10b62dced8a247245d3509950e Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Wed, 28 Jun 2023 16:03:35 +1000 Subject: [PATCH 10/29] Remodel navigation for first run --- .../Shared/Components/AppView.swift | 79 +++++++++++++ .../Common/Forms/ValidatedTextField.swift | 15 +-- .../FirstRun/FirstRunDoneView.swift | 2 +- .../FirstRun/FirstRunProfileView.swift | 22 +--- .../FirstRun/FirstRunRecoveryView.swift | 12 +- .../FirstRun/FirstRunSphereView.swift | 11 +- .../Components/FirstRun/FirstRunView.swift | 110 +++++++++++------- .../Settings/GatewayURLSettingsView.swift | 2 +- 8 files changed, 168 insertions(+), 85 deletions(-) diff --git a/xcode/Subconscious/Shared/Components/AppView.swift b/xcode/Subconscious/Shared/Components/AppView.swift index 09e97b9f..c8d83b0b 100644 --- a/xcode/Subconscious/Shared/Components/AppView.swift +++ b/xcode/Subconscious/Shared/Components/AppView.swift @@ -224,6 +224,7 @@ enum AppAction: CustomLogStringConvertible { case setFirstRunPath([FirstRunStep]) case pushFirstRunStep(FirstRunStep) + case submitFirstRunStep(current: FirstRunStep) /// Set settings sheet presented? case presentSettingsSheet(_ isPresented: Bool) @@ -395,6 +396,7 @@ enum AppDatabaseState { } enum FirstRunStep { + case initial case nickname case sphere case recovery @@ -578,6 +580,12 @@ struct AppModel: ModelProtocol { model.firstRunPath.append(step) return Update(state: model) + case let .submitFirstRunStep(current): + return submitFirstRunStep( + state: state, + environment: environment, + current: current + ) case let .setAppUpgraded(isUpgraded): return setAppUpgraded( state: state, @@ -1161,6 +1169,11 @@ struct AppModel: ModelProtocol { state: AppModel, environment: AppEnvironment ) -> Update { + guard state.sphereIdentity == nil else { + logger.log("Attempted to re-create sphere, doing nothing") + return Update(state: state) + } + // We always use the default owner key name for the user's default // sphere. let ownerKeyName = Config.default.noosphere.ownerKeyName @@ -1274,6 +1287,72 @@ struct AppModel: ModelProtocol { return Update(state: model).animation(.default) } + static func submitFirstRunStep( + state: AppModel, + environment: AppEnvironment, + current: FirstRunStep + ) -> Update { + switch (current) { + case .initial: + guard state.inviteCode == nil || // Offline mode: no code + state.gatewayId != nil // Otherwise we need an ID to proceed + else { + logger.error("Missing gateway ID but user is trying to use invite code") + return Update(state: state) + } + + return update( + state: state, + actions: [ + .pushFirstRunStep(.nickname) + ], + environment: environment + ) + + case .nickname: + guard let nickname = state.nicknameFormField.validated else { + logger.error("Cannot advance, nickname is invalid") + return Update(state: state) + } + + return update( + state: state, + actions: [ + .submitNickname(nickname), + .pushFirstRunStep(.sphere) + ], + environment: environment + ) + + case .sphere: + return update( + state: state, + actions: [ + .pushFirstRunStep(.recovery) + ], + environment: environment + ) + + case .recovery: + return update( + state: state, + actions: [ + .pushFirstRunStep(.connect) + ], + environment: environment + ) + + case .connect: + return update( + state: state, + actions: [ + .persistFirstRunComplete(true) + ], + environment: environment + ) + } + } + /// Reset NoosphereService managed instances of `Noosphere` and `Sphere`. static func resetNoosphereService( state: AppModel, diff --git a/xcode/Subconscious/Shared/Components/Common/Forms/ValidatedTextField.swift b/xcode/Subconscious/Shared/Components/Common/Forms/ValidatedTextField.swift index c2fab9d8..36a4a6ca 100644 --- a/xcode/Subconscious/Shared/Components/Common/Forms/ValidatedTextField.swift +++ b/xcode/Subconscious/Shared/Components/Common/Forms/ValidatedTextField.swift @@ -24,9 +24,6 @@ struct ValidatedFormField: View { var onSubmit: () -> Void = {} var onFocusChanged: (_ focused: Bool) -> Void = { _ in } - /// Indicate if this field should appear invalid due to a side effect failing etc. - var isValid: Bool = true - var backgroundColor = Color.background /// When appearing in a form the background colour of a should change @@ -36,10 +33,6 @@ struct ValidatedFormField: View { return this } - var shouldRenderAsValid: Bool { - isValid && !field.shouldPresentAsInvalid - } - var body: some View { VStack(alignment: alignment, spacing: AppTheme.unit2) { HStack { @@ -58,8 +51,8 @@ struct ValidatedFormField: View { .background(backgroundColor) } .padding(.trailing, 1) - .opacity(shouldRenderAsValid ? 0 : 1) - .animation(.default, value: shouldRenderAsValid) + .opacity(field.shouldPresentAsInvalid ? 1 : 0) + .animation(.default, value: field.shouldPresentAsInvalid) } .onChange(of: focused) { focused in send(.focusChange(focused: focused)) @@ -85,9 +78,9 @@ struct ValidatedFormField: View { } Text(caption) .foregroundColor( - shouldRenderAsValid ? Color.secondary : Color.red + field.shouldPresentAsInvalid ? Color.red : Color.secondary ) - .animation(.default, value: shouldRenderAsValid) + .animation(.default, value: field.shouldPresentAsInvalid) .font(.caption) } .onAppear { diff --git a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunDoneView.swift b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunDoneView.swift index 0ca8fad0..40711e2b 100644 --- a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunDoneView.swift +++ b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunDoneView.swift @@ -92,7 +92,7 @@ struct FirstRunDoneView: View { Spacer() Button( action: { - app.send(.persistFirstRunComplete(true)) + app.send(.submitFirstRunStep(current: .connect)) } ) { Text("Begin") diff --git a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunProfileView.swift b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunProfileView.swift index 33bb2ba4..d64a8be7 100644 --- a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunProfileView.swift +++ b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunProfileView.swift @@ -30,9 +30,7 @@ struct FirstRunProfileView: View { autoFocus: true, submitLabel: .go, onSubmit: { - if app.state.nicknameFormField.isValid { - app.send(.pushFirstRunStep(.sphere)) - } + app.send(.submitFirstRunStep(current: .nickname)) } ) .textFieldStyle(.roundedBorder) @@ -48,12 +46,11 @@ struct FirstRunProfileView: View { Spacer() if !app.state.nicknameFormField.hasFocus { - NavigationLink( - value: FirstRunStep.sphere, - label: { - Text("Continue") - } - ) + Button(action: { + app.send(.submitFirstRunStep(current: .nickname)) + }, label: { + Text("Continue") + }) .buttonStyle(PillButtonStyle()) .disabled(!app.state.nicknameFormField.isValid) } @@ -65,13 +62,6 @@ struct FirstRunProfileView: View { AppTheme.onboarding .appBackgroundGradient(colorScheme) ) - .onDisappear { - guard let nickname = app.state.nicknameFormField.validated else { - return - } - - app.send(.submitNickname(nickname)) - } } } diff --git a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunRecoveryView.swift b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunRecoveryView.swift index 6b5cad15..a8159eb3 100644 --- a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunRecoveryView.swift +++ b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunRecoveryView.swift @@ -41,12 +41,12 @@ struct FirstRunRecoveryView: View { .foregroundColor(.secondary) .multilineTextAlignment(.center) Spacer() - NavigationLink( - value: FirstRunStep.connect, - label: { - Text("Ok, I wrote it down") - } - ) + + Button(action: { + app.send(.submitFirstRunStep(current: .recovery)) + }, label: { + Text("Ok, I wrote it down") + }) .buttonStyle(PillButtonStyle()) } .padding() diff --git a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunSphereView.swift b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunSphereView.swift index d3979cb5..663356a4 100644 --- a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunSphereView.swift +++ b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunSphereView.swift @@ -50,12 +50,11 @@ struct FirstRunSphereView: View { Spacer() - NavigationLink( - value: FirstRunStep.recovery, - label: { - Text("Got it") - } - ) + Button(action: { + app.send(.submitFirstRunStep(current: .sphere)) + }, label: { + Text("Got it") + }) .buttonStyle(PillButtonStyle()) } .padding() diff --git a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift index 2b9a24b6..58ca7598 100644 --- a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift +++ b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift @@ -7,6 +7,52 @@ import ObservableStore import SwiftUI +struct InviteCodeRedeemedView: View { + var gatewayId: String + + var body: some View { + VStack(spacing: AppTheme.unit2) { + HStack(spacing: AppTheme.unit2) { + Image(systemName: "checkmark.circle") + .resizable() + .frame(width: 16, height: 16) + .opacity(0.5) + Text("Invitation accepted") + } + .font(.body) + .bold() + + HStack(spacing: AppTheme.unit) { + Text("Gateway ID") + .bold() + Text(gatewayId) + } + .font(.caption) + } + .foregroundColor(.secondary) + } +} + +struct InviteCodeErrorView: View { + var error: String + + var body: some View { + VStack(spacing: AppTheme.unit2) { + HStack(spacing: AppTheme.unit2) { + Image(systemName: "exclamationmark.circle") + .resizable() + .frame(width: 16, height: 16) + .opacity(0.5) + Text("Could not redeem invite code") + } + .font(.body) + .bold() + } + .foregroundColor(.red) + } +} + + struct FirstRunView: View { @ObservedObject var app: Store @Environment(\.colorScheme) var colorScheme @@ -47,25 +93,9 @@ struct FirstRunView: View { Spacer() if let gatewayId = app.state.gatewayId { - VStack(spacing: AppTheme.unit2) { - HStack(spacing: AppTheme.unit2) { - Text("Invite code redeemed") - Image(systemName: "checkmark.circle") - .resizable() - .frame(width: 16, height: 16) - .opacity(0.5) - } - .font(.body) - .bold() - - HStack(spacing: AppTheme.unit) { - Text("Gateway ID") - .bold() - Text(gatewayId) - } - .font(.caption) - } - .foregroundColor(.secondary) + InviteCodeRedeemedView( + gatewayId: gatewayId + ) } else { ValidatedFormField( alignment: .center, @@ -88,14 +118,6 @@ struct FirstRunView: View { if !focused { app.send(.submitInviteCodeForm) } - }, - isValid: Func.run { - switch app.state.inviteCodeRedemptionStatus { - case .failed(_): - return false - case _: - return true - } } ) .textFieldStyle(.roundedBorder) @@ -103,15 +125,18 @@ struct FirstRunView: View { .disableAutocorrection(true) } + if case let .failed(message) = app.state.inviteCodeRedemptionStatus { + InviteCodeErrorView(error: message) + } + if !app.state.inviteCodeFormField.hasFocus { Spacer() - NavigationLink( - value: FirstRunStep.nickname, - label: { - Text("Get Started") - } - ) + Button(action: { + app.send(.submitFirstRunStep(current: .initial)) + }, label: { + Text("Get Started") + }) .buttonStyle(PillButtonStyle()) .disabled(app.state.gatewayId == nil) } @@ -124,13 +149,12 @@ struct FirstRunView: View { .font(.caption) .foregroundColor(.secondary) - NavigationLink( - value: FirstRunStep.nickname, - label: { - Text("Use offline") - .font(.caption) - } - ) + Button(action: { + app.send(.submitFirstRunStep(current: .initial)) + }, label: { + Text("Use offline") + .font(.caption) + }) } } }.padding( @@ -153,6 +177,8 @@ struct FirstRunView: View { for: FirstRunStep.self ) { step in switch step { + case .initial: + EmptyView() case .nickname: FirstRunProfileView(app: app) case .sphere: @@ -164,10 +190,6 @@ struct FirstRunView: View { } } .onAppear { - guard app.state.sphereIdentity == nil else { - return - } - app.send(.createSphere) } } diff --git a/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift b/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift index 971f4e1f..497c1332 100644 --- a/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift +++ b/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift @@ -132,7 +132,7 @@ struct InviteCodeSection: View { send: app.send, tag: AppAction.inviteCodeFormField ), - caption: "Your ticket to the Noosphere" + caption: "Your ticket to Noosphere" ) .autocapitalization(.none) .autocorrectionDisabled(true) From e2a487aa594815341e237e68f0d079d2b0d362ce Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Wed, 28 Jun 2023 16:08:04 +1000 Subject: [PATCH 11/29] Introduce API to mark field as invalid/valid --- .../Subconscious/Shared/Components/AppView.swift | 7 +++++-- xcode/Subconscious/Shared/Models/FormField.swift | 16 ++++++++++++---- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/xcode/Subconscious/Shared/Components/AppView.swift b/xcode/Subconscious/Shared/Components/AppView.swift index c8d83b0b..3c399650 100644 --- a/xcode/Subconscious/Shared/Components/AppView.swift +++ b/xcode/Subconscious/Shared/Components/AppView.swift @@ -2031,10 +2031,13 @@ struct AppModel: ModelProtocol { var model = state model.inviteCodeRedemptionStatus = .failed(error) - return Update(state: model) + return update( + state: model, + action: .inviteCodeFormField(.setValidationStatus(valid: false)), + environment: environment + ) } - static func failProvisionGateway( state: AppModel, environment: AppEnvironment, diff --git a/xcode/Subconscious/Shared/Models/FormField.swift b/xcode/Subconscious/Shared/Models/FormField.swift index 891496fe..ece88325 100644 --- a/xcode/Subconscious/Shared/Models/FormField.swift +++ b/xcode/Subconscious/Shared/Models/FormField.swift @@ -19,6 +19,7 @@ enum FormFieldAction: Equatable { case markAsTouched case focusChange(focused: Bool) case setValue(input: Input) + case setValidationStatus(valid: Bool) } typealias FormFieldEnvironment = Void @@ -28,6 +29,7 @@ struct FormField: ModelProtocol { return ( lhs.value == rhs.value && lhs.defaultValue == rhs.defaultValue && + lhs.isValid == rhs.isValid && lhs.touched == rhs.touched && lhs.hasFocus == rhs.hasFocus && lhs.hasBeenFocusedAtLeastOnce == rhs.hasBeenFocusedAtLeastOnce @@ -38,6 +40,7 @@ struct FormField: ModelProtocol { var defaultValue: Input /// Should be a pure, static function var validate: FormFieldValidator + var isValid: Bool = false var touched: Bool var hasFocus: Bool var hasBeenFocusedAtLeastOnce: Bool @@ -49,6 +52,7 @@ struct FormField: ModelProtocol { self.touched = false self.hasFocus = false self.hasBeenFocusedAtLeastOnce = false + self.isValid = false } init(value: Input, validate: @escaping FormFieldValidator) { @@ -58,16 +62,14 @@ struct FormField: ModelProtocol { self.touched = false self.hasFocus = false self.hasBeenFocusedAtLeastOnce = false + self.isValid = false } /// Attempt to validate the input and produce the backing type var validated: Output? { validate(value) } - /// Is the current value valid? - var isValid: Bool { - validated != nil - } + /// Should this field visually display an error? var shouldPresentAsInvalid: Bool { !isValid && hasBeenFocusedAtLeastOnce @@ -110,6 +112,12 @@ struct FormField: ModelProtocol { case .setValue(input: let input): var model = state model.value = input + model.isValid = state.validate(input) != nil + return Update(state: model) + + case .setValidationStatus(let valid): + var model = state + model.isValid = valid return Update(state: model) } } From 3d67c86e8e2e6d6060655b4d414f7eaf0fde78c6 Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Wed, 28 Jun 2023 16:17:55 +1000 Subject: [PATCH 12/29] Remove extra error section --- .../Components/FirstRun/FirstRunView.swift | 24 ------------------- 1 file changed, 24 deletions(-) diff --git a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift index 58ca7598..f78403c1 100644 --- a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift +++ b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift @@ -33,26 +33,6 @@ struct InviteCodeRedeemedView: View { } } -struct InviteCodeErrorView: View { - var error: String - - var body: some View { - VStack(spacing: AppTheme.unit2) { - HStack(spacing: AppTheme.unit2) { - Image(systemName: "exclamationmark.circle") - .resizable() - .frame(width: 16, height: 16) - .opacity(0.5) - Text("Could not redeem invite code") - } - .font(.body) - .bold() - } - .foregroundColor(.red) - } -} - - struct FirstRunView: View { @ObservedObject var app: Store @Environment(\.colorScheme) var colorScheme @@ -125,10 +105,6 @@ struct FirstRunView: View { .disableAutocorrection(true) } - if case let .failed(message) = app.state.inviteCodeRedemptionStatus { - InviteCodeErrorView(error: message) - } - if !app.state.inviteCodeFormField.hasFocus { Spacer() From 8364efcbb36047ddd117c2e5d376e07bcf34e3e1 Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Wed, 28 Jun 2023 16:22:23 +1000 Subject: [PATCH 13/29] Improve invite code lifecycle --- .../Shared/Components/AppView.swift | 2 + .../Components/FirstRun/FirstRunView.swift | 1 + .../Settings/GatewayURLSettingsView.swift | 40 +++++++++++++------ .../Components/Settings/SettingsView.swift | 1 - 4 files changed, 31 insertions(+), 13 deletions(-) diff --git a/xcode/Subconscious/Shared/Components/AppView.swift b/xcode/Subconscious/Shared/Components/AppView.swift index 3c399650..5f64d8bb 100644 --- a/xcode/Subconscious/Shared/Components/AppView.swift +++ b/xcode/Subconscious/Shared/Components/AppView.swift @@ -1346,6 +1346,8 @@ struct AppModel: ModelProtocol { return update( state: state, actions: [ + .inviteCodeFormField(.reset), + .nicknameFormField(.reset), .persistFirstRunComplete(true) ], environment: environment diff --git a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift index f78403c1..9e3128f1 100644 --- a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift +++ b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift @@ -103,6 +103,7 @@ struct FirstRunView: View { .textFieldStyle(.roundedBorder) .textInputAutocapitalization(.never) .disableAutocorrection(true) + .disabled(app.state.gatewayOperationInProgress) } if !app.state.inviteCodeFormField.hasFocus { diff --git a/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift b/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift index 497c1332..5eb54e19 100644 --- a/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift +++ b/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift @@ -119,24 +119,40 @@ struct GatewayProvisionLabel: View { // MARK: Provisioning +struct ValidatedInviteCodeFormField: View { + @ObservedObject var app: Store + + var body: some View { + ValidatedFormField( + placeholder: "Enter an invite code", + field: app.state.inviteCodeFormField, + send: Address.forward( + send: app.send, + tag: AppAction.inviteCodeFormField + ), + caption: Func.run { + switch app.state.inviteCodeRedemptionStatus { + case .failed(_): + return "Could not redeem invite code" + case _: + return "Your ticket to the Noosphere" + } + } + ) + .autocapitalization(.none) + .autocorrectionDisabled(true) + .textInputAutocapitalization(.never) + .disabled(app.state.gatewayOperationInProgress) + } +} + struct InviteCodeSection: View { @ObservedObject var app: Store var body: some View { Section( content: { - ValidatedFormField( - placeholder: "Enter an invite code", - field: app.state.inviteCodeFormField, - send: Address.forward( - send: app.send, - tag: AppAction.inviteCodeFormField - ), - caption: "Your ticket to Noosphere" - ) - .autocapitalization(.none) - .autocorrectionDisabled(true) - .disabled(app.state.gatewayOperationInProgress) + ValidatedInviteCodeFormField(app: app) Button( action: { diff --git a/xcode/Subconscious/Shared/Components/Settings/SettingsView.swift b/xcode/Subconscious/Shared/Components/Settings/SettingsView.swift index ebf15ef4..63275bb3 100644 --- a/xcode/Subconscious/Shared/Components/Settings/SettingsView.swift +++ b/xcode/Subconscious/Shared/Components/Settings/SettingsView.swift @@ -94,7 +94,6 @@ struct SettingsView: View { .lineLimit(1) } ) - .disabled(app.state.gatewayProvisioningStatus == .pending) }, header: { Text("Noosphere") From deabbdecae9847d098ccf148cb46eec3b6cb5239 Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Wed, 28 Jun 2023 16:23:04 +1000 Subject: [PATCH 14/29] Add explicit Request Offline action --- .../Shared/Components/AppView.swift | 23 +++++++++++++++++++ .../Components/FirstRun/FirstRunView.swift | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/xcode/Subconscious/Shared/Components/AppView.swift b/xcode/Subconscious/Shared/Components/AppView.swift index 5f64d8bb..b409ca04 100644 --- a/xcode/Subconscious/Shared/Components/AppView.swift +++ b/xcode/Subconscious/Shared/Components/AppView.swift @@ -225,6 +225,7 @@ enum AppAction: CustomLogStringConvertible { case setFirstRunPath([FirstRunStep]) case pushFirstRunStep(FirstRunStep) case submitFirstRunStep(current: FirstRunStep) + case requestOfflineMode /// Set settings sheet presented? case presentSettingsSheet(_ isPresented: Bool) @@ -586,6 +587,11 @@ struct AppModel: ModelProtocol { environment: environment, current: current ) + case .requestOfflineMode: + return requestOfflineMode( + state: state, + environment: environment + ) case let .setAppUpgraded(isUpgraded): return setAppUpgraded( state: state, @@ -1287,6 +1293,23 @@ struct AppModel: ModelProtocol { return Update(state: model).animation(.default) } + static func requestOfflineMode( + state: AppModel, + environment: AppEnvironment + ) -> Update { + var model = state + model.inviteCode = nil + + return update( + state: model, + actions: [ + .inviteCodeFormField(.reset), + .submitFirstRunStep(current: .initial) + ], + environment: environment + ) + } + static func submitFirstRunStep( state: AppModel, environment: AppEnvironment, diff --git a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift index 9e3128f1..03e2c5a1 100644 --- a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift +++ b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift @@ -127,7 +127,7 @@ struct FirstRunView: View { .foregroundColor(.secondary) Button(action: { - app.send(.submitFirstRunStep(current: .initial)) + app.send(.requestOfflineMode) }, label: { Text("Use offline") .font(.caption) From 7a1cc2de28db36fa278344ed5c79999663de235c Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Thu, 29 Jun 2023 09:09:33 +1000 Subject: [PATCH 15/29] Add tests for FirstRun validation --- .../Shared/Components/AppView.swift | 8 +- .../Subconscious.xcodeproj/project.pbxproj | 4 + .../SubconsciousTests/Tests_App.swift | 16 -- .../SubconsciousTests/Tests_FirstRun.swift | 156 ++++++++++++++++++ 4 files changed, 165 insertions(+), 19 deletions(-) create mode 100644 xcode/Subconscious/SubconsciousTests/Tests_FirstRun.swift diff --git a/xcode/Subconscious/Shared/Components/AppView.swift b/xcode/Subconscious/Shared/Components/AppView.swift index b409ca04..42037e4b 100644 --- a/xcode/Subconscious/Shared/Components/AppView.swift +++ b/xcode/Subconscious/Shared/Components/AppView.swift @@ -872,8 +872,12 @@ struct AppModel: ModelProtocol { return Update(state: state) } + var model = state + model.inviteCode = inviteCode + AppDefaults.standard.inviteCode = inviteCode.description + return update( - state: state, + state: model, action: .requestRedeemInviteCode(inviteCode), environment: environment ) @@ -1973,8 +1977,6 @@ struct AppModel: ModelProtocol { var model = state model.inviteCodeRedemptionStatus = .pending - model.inviteCode = inviteCode - AppDefaults.standard.inviteCode = inviteCode.description return Update(state: model, fx: fx) } diff --git a/xcode/Subconscious/Subconscious.xcodeproj/project.pbxproj b/xcode/Subconscious/Subconscious.xcodeproj/project.pbxproj index beb61912..845430d5 100644 --- a/xcode/Subconscious/Subconscious.xcodeproj/project.pbxproj +++ b/xcode/Subconscious/Subconscious.xcodeproj/project.pbxproj @@ -11,6 +11,7 @@ B508956E29E7862A0048106B /* Tests_AddressBookService.swift in Sources */ = {isa = PBXBuildFile; fileRef = B508956D29E7862A0048106B /* Tests_AddressBookService.swift */; }; B508957029E79BE70048106B /* UserProfileService.swift in Sources */ = {isa = PBXBuildFile; fileRef = B508956F29E79BE70048106B /* UserProfileService.swift */; }; B508957129E79BE70048106B /* UserProfileService.swift in Sources */ = {isa = PBXBuildFile; fileRef = B508956F29E79BE70048106B /* UserProfileService.swift */; }; + B50961302A4CEFCF008E9EDB /* Tests_FirstRun.swift in Sources */ = {isa = PBXBuildFile; fileRef = B509612F2A4CEFCF008E9EDB /* Tests_FirstRun.swift */; }; B50B045B2A04B61000AA584B /* TranscludeService.swift in Sources */ = {isa = PBXBuildFile; fileRef = B50B045A2A04B61000AA584B /* TranscludeService.swift */; }; B50B045C2A04B61000AA584B /* TranscludeService.swift in Sources */ = {isa = PBXBuildFile; fileRef = B50B045A2A04B61000AA584B /* TranscludeService.swift */; }; B51EEAA129F0C37B0055887B /* AppIcon.swift in Sources */ = {isa = PBXBuildFile; fileRef = B51EEAA029F0C37B0055887B /* AppIcon.swift */; }; @@ -455,6 +456,7 @@ /* Begin PBXFileReference section */ B508956D29E7862A0048106B /* Tests_AddressBookService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tests_AddressBookService.swift; sourceTree = ""; }; B508956F29E79BE70048106B /* UserProfileService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserProfileService.swift; sourceTree = ""; }; + B509612F2A4CEFCF008E9EDB /* Tests_FirstRun.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tests_FirstRun.swift; sourceTree = ""; }; B50B045A2A04B61000AA584B /* TranscludeService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TranscludeService.swift; sourceTree = ""; }; B51EEAA029F0C37B0055887B /* AppIcon.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppIcon.swift; sourceTree = ""; }; B5293B882A426645001C4DA7 /* Sentry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Sentry.swift; sourceTree = ""; }; @@ -907,6 +909,7 @@ B840CCC62A0C1F840000C025 /* Tests_Audience.swift */, B8099F012A3B6FA50014FC2E /* Tests_MemoRecord.swift */, B56C2D4D2A4962D00062DAC0 /* Tests_TranscludeService.swift */, + B509612F2A4CEFCF008E9EDB /* Tests_FirstRun.swift */, ); path = SubconsciousTests; sourceTree = ""; @@ -1645,6 +1648,7 @@ B88A76D729E0AA44005F3422 /* Tests_MemoViewerDetailMetaSheet.swift in Sources */, B85DF78F29B7B5440042D725 /* Tests_Prose.swift in Sources */, B85D5E3D28BE4B2C00EE0078 /* Tests_NotebookUpdate.swift in Sources */, + B50961302A4CEFCF008E9EDB /* Tests_FirstRun.swift in Sources */, B8682DCD2804C379001CD8DD /* Tests_CollectionUtilities.swift in Sources */, B5908BEB29DAB05B00225B1A /* TestUtilities.swift in Sources */, B8EA3757299EBA5500D98E2B /* Tests_NoosphereService.swift in Sources */, diff --git a/xcode/Subconscious/SubconsciousTests/Tests_App.swift b/xcode/Subconscious/SubconsciousTests/Tests_App.swift index c0644775..acc3411b 100644 --- a/xcode/Subconscious/SubconsciousTests/Tests_App.swift +++ b/xcode/Subconscious/SubconsciousTests/Tests_App.swift @@ -9,22 +9,6 @@ import XCTest @testable import Subconscious final class Tests_App: XCTestCase { - func testPersistFirstRunComplete() throws { - let model = AppModel() - let up1 = AppModel.update( - state: model, - action: .persistFirstRunComplete(true), - environment: AppEnvironment() - ) - XCTAssertTrue(up1.state.isFirstRunComplete, "isFirstRunComplete set") - let up2 = AppModel.update( - state: model, - action: .persistFirstRunComplete(false), - environment: AppEnvironment() - ) - XCTAssertFalse(up2.state.isFirstRunComplete, "isFirstRunComplete set") - } - func testNicknameFormField() throws { let model = AppModel() XCTAssertEqual(model.nicknameFormField.value, "", "Nickname form field is empty to start") diff --git a/xcode/Subconscious/SubconsciousTests/Tests_FirstRun.swift b/xcode/Subconscious/SubconsciousTests/Tests_FirstRun.swift new file mode 100644 index 00000000..1de745ad --- /dev/null +++ b/xcode/Subconscious/SubconsciousTests/Tests_FirstRun.swift @@ -0,0 +1,156 @@ +// +// Tests_FirstRun.swift +// SubconsciousTests +// +// Created by Ben Follington on 29/6/2023. +// + +import XCTest +@testable import Subconscious + +final class Tests_FirstRun: XCTestCase { + func testPersistFirstRunComplete() throws { + let model = AppModel() + let up1 = AppModel.update( + state: model, + action: .persistFirstRunComplete(true), + environment: AppEnvironment() + ) + XCTAssertTrue(up1.state.isFirstRunComplete, "isFirstRunComplete set") + let up2 = AppModel.update( + state: model, + action: .persistFirstRunComplete(false), + environment: AppEnvironment() + ) + XCTAssertFalse(up2.state.isFirstRunComplete, "isFirstRunComplete set") + } + + func testFirstRunInviteCodeStep() throws { + let model = AppModel() + let up1 = AppModel.update( + state: model, + action: .submitFirstRunStep(current: .initial), + environment: AppEnvironment() + ) + + XCTAssertEqual(up1.state.firstRunPath, [.nickname], "proceed in offline mode by default") + + let up2 = AppModel.update( + state: model, + actions: [ + .requestOfflineMode + ], + environment: AppEnvironment() + ) + + XCTAssertEqual(up2.state.firstRunPath, [.nickname], "proceed if the user requests offline mode") + + let up3 = AppModel.update( + state: model, + actions: [ + .inviteCodeFormField(.setValue(input: "one two three four")), + .submitInviteCodeForm, + .requestOfflineMode + ], + environment: AppEnvironment() + ) + + XCTAssertEqual(up3.state.firstRunPath, [.nickname], "proceed if the user requests offline mode after using form") + + let up4 = AppModel.update( + state: model, + actions: [ + .inviteCodeFormField(.setValue(input: "one two three four")), + .submitInviteCodeForm, + .submitFirstRunStep(current: .initial) + ], + environment: AppEnvironment() + ) + + XCTAssertEqual(up4.state.firstRunPath, [], "cannot proceed with invite code but no gateway ID") + + let up5 = AppModel.update( + state: model, + actions: [ + .inviteCodeFormField(.setValue(input: "one two three four")), + .submitInviteCodeForm, + .succeedRedeemInviteCode("my-gateway"), + .submitFirstRunStep(current: .initial) + ], + environment: AppEnvironment() + ) + + XCTAssertEqual(up5.state.firstRunPath, [.nickname], "proceed with invite code + gateway ID") + XCTAssertTrue(up5.state.gatewayProvisioningStatus == .pending) + } + + func testFirstRunProfileStep() throws { + let model = AppModel(firstRunPath: [.nickname]) + let up1 = AppModel.update( + state: model, + action: .submitFirstRunStep(current: .nickname), + environment: AppEnvironment() + ) + + XCTAssertEqual(up1.state.firstRunPath, [.nickname], "cannot advance without a nickname") + + let up2 = AppModel.update( + state: model, + actions: [ + .nicknameFormField(.setValue(input: "my-name")), + .submitFirstRunStep(current: .nickname) + ], + environment: AppEnvironment() + ) + + XCTAssertEqual(up2.state.firstRunPath, [.nickname, .sphere], "proceed with valid nickname") + + let up3 = AppModel.update( + state: model, + actions: [ + .nicknameFormField(.setValue(input: "My Crazy Name!")), + .submitFirstRunStep(current: .nickname) + ], + environment: AppEnvironment() + ) + + XCTAssertEqual(up3.state.firstRunPath, [.nickname], "cannot proceed with invalid nickname") + } + + func testFirstRunSphereStep() throws { + let model = AppModel(firstRunPath: [.nickname, .sphere]) + let up1 = AppModel.update( + state: model, + action: .submitFirstRunStep(current: .sphere), + environment: AppEnvironment() + ) + + XCTAssertEqual(up1.state.firstRunPath, [.nickname, .sphere, .recovery], "proceed to recovery") + } + + func testFirstRunRecoveryStep() throws { + let model = AppModel(firstRunPath: [.nickname, .sphere, .recovery]) + let up1 = AppModel.update( + state: model, + action: .submitFirstRunStep(current: .recovery), + environment: AppEnvironment() + ) + + XCTAssertEqual(up1.state.firstRunPath, [.nickname, .sphere, .recovery, .connect], "proceed to connect") + } + + func testFirstRunConnectStep() throws { + let model = AppModel(firstRunPath: [.nickname, .sphere, .recovery, .connect]) + let up1 = AppModel.update( + state: model, + action: .submitFirstRunStep(current: .connect), + environment: AppEnvironment() + ) + + // Assert fields are reset + XCTAssertFalse(up1.state.nicknameFormField.touched) + XCTAssertFalse(up1.state.inviteCodeFormField.touched) + + XCTAssertTrue(up1.state.isFirstRunComplete) + } +} From c5cf5e4cb812c2405467a4b3db6eb7db7f1013e6 Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Thu, 29 Jun 2023 09:11:14 +1000 Subject: [PATCH 16/29] Drop unused action --- xcode/Subconscious/Shared/Components/AppView.swift | 8 -------- .../Components/Settings/GatewayURLSettingsView.swift | 2 +- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/xcode/Subconscious/Shared/Components/AppView.swift b/xcode/Subconscious/Shared/Components/AppView.swift index 42037e4b..ae542a22 100644 --- a/xcode/Subconscious/Shared/Components/AppView.swift +++ b/xcode/Subconscious/Shared/Components/AppView.swift @@ -217,7 +217,6 @@ enum AppAction: CustomLogStringConvertible { case failRedeemInviteCode(_ error: String) /// Check gateway - case submitProvisionGatewayForm case requestGatewayProvisioningStatus case succeedProvisionGateway(_ gatewayURL: URL) case failProvisionGateway(_ error: String) @@ -899,13 +898,6 @@ struct AppModel: ModelProtocol { environment: environment, error: error ) - case .submitProvisionGatewayForm: - // Superfluous event? - return update( - state: state, - action: .requestGatewayProvisioningStatus, - environment: environment - ) case .requestGatewayProvisioningStatus: return requestGatewayProvisioningStatus( state: state, diff --git a/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift b/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift index 5eb54e19..d1f08f51 100644 --- a/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift +++ b/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift @@ -212,7 +212,7 @@ struct GatewayProvisioningSection: View { Button( action: { - app.send(.submitProvisionGatewayForm) + app.send(.requestGatewayProvisioningStatus) }, label: { GatewayProvisionLabel( From a00ef9d1087ffd2bf82396cc3aeb9bc6e54c7da2 Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Thu, 29 Jun 2023 09:13:25 +1000 Subject: [PATCH 17/29] Consolidate duplicated actions --- .../Shared/Components/AppView.swift | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/xcode/Subconscious/Shared/Components/AppView.swift b/xcode/Subconscious/Shared/Components/AppView.swift index ae542a22..70cbe794 100644 --- a/xcode/Subconscious/Shared/Components/AppView.swift +++ b/xcode/Subconscious/Shared/Components/AppView.swift @@ -1100,16 +1100,18 @@ struct AppModel: ModelProtocol { environment: AppEnvironment, url: URL ) -> Update { + let actions: [AppAction] = [ + .gatewayURLField(.reset), + .gatewayURLField( + .setValue(input: url.absoluteString) + ) + ] + guard state.gatewayURL != url.absoluteString else { logger.log("Gateway URL is identical to current value, doing nothing") return update( state: state, - actions: [ - .gatewayURLField(.reset), - .gatewayURLField( - .setValue(input: url.absoluteString) - ) - ], + actions: actions, environment: environment ) } @@ -1128,12 +1130,7 @@ struct AppModel: ModelProtocol { return update( state: model, - actions: [ - .gatewayURLField(.reset), - .gatewayURLField( - .setValue(input: url.absoluteString) - ) - ], + actions: actions, environment: environment ) .mergeFx(fx) From 572d0cb13e9ae0775e710d8d0d22fdcc96efd835 Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Thu, 29 Jun 2023 09:14:11 +1000 Subject: [PATCH 18/29] Add comment --- xcode/Subconscious/Shared/Components/AppView.swift | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xcode/Subconscious/Shared/Components/AppView.swift b/xcode/Subconscious/Shared/Components/AppView.swift index 70cbe794..e24a2bb5 100644 --- a/xcode/Subconscious/Shared/Components/AppView.swift +++ b/xcode/Subconscious/Shared/Components/AppView.swift @@ -1100,6 +1100,8 @@ struct AppModel: ModelProtocol { environment: AppEnvironment, url: URL ) -> Update { + // We always ensure the field reflects this value + // even if nothing changes from a Noosphere perspective let actions: [AppAction] = [ .gatewayURLField(.reset), .gatewayURLField( From ede74defb3f6cc4cd1aadd913afb86a4402bf364 Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Thu, 29 Jun 2023 09:24:12 +1000 Subject: [PATCH 19/29] Increase detail of assertions --- .../Shared/Components/AppView.swift | 3 +- .../SubconsciousTests/Tests_FirstRun.swift | 63 +++++++++++++++++-- 2 files changed, 60 insertions(+), 6 deletions(-) diff --git a/xcode/Subconscious/Shared/Components/AppView.swift b/xcode/Subconscious/Shared/Components/AppView.swift index e24a2bb5..c12af245 100644 --- a/xcode/Subconscious/Shared/Components/AppView.swift +++ b/xcode/Subconscious/Shared/Components/AppView.swift @@ -1101,7 +1101,7 @@ struct AppModel: ModelProtocol { url: URL ) -> Update { // We always ensure the field reflects this value - // even if nothing changes from a Noosphere perspective + // even if nothing changes from a Noosphere perspective let actions: [AppAction] = [ .gatewayURLField(.reset), .gatewayURLField( @@ -1294,6 +1294,7 @@ struct AppModel: ModelProtocol { ) -> Update { var model = state model.inviteCode = nil + model.gatewayId = nil return update( state: model, diff --git a/xcode/Subconscious/SubconsciousTests/Tests_FirstRun.swift b/xcode/Subconscious/SubconsciousTests/Tests_FirstRun.swift index 1de745ad..d0f92bdc 100644 --- a/xcode/Subconscious/SubconsciousTests/Tests_FirstRun.swift +++ b/xcode/Subconscious/SubconsciousTests/Tests_FirstRun.swift @@ -33,7 +33,13 @@ final class Tests_FirstRun: XCTestCase { environment: AppEnvironment() ) - XCTAssertEqual(up1.state.firstRunPath, [.nickname], "proceed in offline mode by default") + XCTAssertNil(up1.state.inviteCode) + XCTAssertNil(up1.state.gatewayId) + XCTAssertEqual( + up1.state.firstRunPath, + [.nickname], + "proceed in offline mode by default" + ) let up2 = AppModel.update( state: model, @@ -43,7 +49,13 @@ final class Tests_FirstRun: XCTestCase { environment: AppEnvironment() ) - XCTAssertEqual(up2.state.firstRunPath, [.nickname], "proceed if the user requests offline mode") + XCTAssertNil(up2.state.inviteCode) + XCTAssertNil(up2.state.gatewayId) + XCTAssertEqual( + up2.state.firstRunPath, + [.nickname], + "proceed if the user requests offline mode" + ) let up3 = AppModel.update( state: model, @@ -55,7 +67,13 @@ final class Tests_FirstRun: XCTestCase { environment: AppEnvironment() ) - XCTAssertEqual(up3.state.firstRunPath, [.nickname], "proceed if the user requests offline mode after using form") + XCTAssertNil(up3.state.inviteCode) + XCTAssertNil(up3.state.gatewayId) + XCTAssertEqual( + up3.state.firstRunPath, + [.nickname], + "proceed if the user requests offline mode after using form" + ) let up4 = AppModel.update( state: model, @@ -67,7 +85,13 @@ final class Tests_FirstRun: XCTestCase { environment: AppEnvironment() ) - XCTAssertEqual(up4.state.firstRunPath, [], "cannot proceed with invite code but no gateway ID") + XCTAssertEqual(up4.state.inviteCode, InviteCode("one two three four")!) + XCTAssertNil(up4.state.gatewayId) + XCTAssertEqual( + up4.state.firstRunPath, + [], + "cannot proceed with invite code but no gateway ID" + ) let up5 = AppModel.update( state: model, @@ -80,8 +104,37 @@ final class Tests_FirstRun: XCTestCase { environment: AppEnvironment() ) - XCTAssertEqual(up5.state.firstRunPath, [.nickname], "proceed with invite code + gateway ID") + XCTAssertEqual( + up5.state.firstRunPath, + [.nickname], + "proceed with invite code + gateway ID" + ) + XCTAssertEqual(up5.state.inviteCode, InviteCode("one two three four")!) + XCTAssertEqual(up5.state.gatewayId, "my-gateway") XCTAssertTrue(up5.state.gatewayProvisioningStatus == .pending) + + let up6 = AppModel.update( + state: model, + actions: [ + .inviteCodeFormField(.setValue(input: "one two three four")), + .submitInviteCodeForm, + .succeedRedeemInviteCode("my-gateway"), + .requestOfflineMode, + ], + environment: AppEnvironment() + ) + + XCTAssertEqual( + up6.state.firstRunPath, + [.nickname], + "clear invite code + gateway ID when requesting offline" + ) + XCTAssertNil(up6.state.inviteCode) + XCTAssertNil(up6.state.gatewayId) + + // We should CANCEL the provisioniong process when offline mode is requested + // ...but we can't do that until we add support for store-driven cancellation + // XCTAssertTrue(up6.state.gatewayProvisioningStatus == .initial) } func testFirstRunProfileStep() throws { From bc8796c26786e55457abe9a8973d79fc4953a846 Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Thu, 29 Jun 2023 09:30:49 +1000 Subject: [PATCH 20/29] Add tests for validation status override --- .../Settings/GatewayURLSettingsView.swift | 1 - .../SubconsciousTests/Tests_FormField.swift | 15 +++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift b/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift index d1f08f51..fb405af6 100644 --- a/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift +++ b/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift @@ -298,7 +298,6 @@ struct GatewayURLSettingsView: View { InviteCodeSection(app: app) } .navigationTitle("Gateway URL") - } } diff --git a/xcode/Subconscious/SubconsciousTests/Tests_FormField.swift b/xcode/Subconscious/SubconsciousTests/Tests_FormField.swift index 3b5462fb..3f588b2f 100644 --- a/xcode/Subconscious/SubconsciousTests/Tests_FormField.swift +++ b/xcode/Subconscious/SubconsciousTests/Tests_FormField.swift @@ -8,6 +8,7 @@ import XCTest import ObservableStore +import SwiftUI @testable import Subconscious class Tests_FormField: XCTestCase { @@ -124,5 +125,19 @@ class Tests_FormField: XCTestCase { XCTAssertEqual(state.validated, nil, "Validated output is nil") XCTAssertEqual(state.isValid, false, "Validator fails") XCTAssertEqual(state.shouldPresentAsInvalid, false, "No error is displayed") + + update = FormField.update(state: update.state, action: .setValue(input: "hello"), environment: environment) + update = FormField.update(state: update.state, action: .markAsTouched, environment: environment) + update = FormField.update(state: update.state, action: .setValidationStatus(valid: false), environment: environment) + + XCTAssertEqual(update.state.validated, "hello", "Validated output returned") + XCTAssertEqual(update.state.isValid, false, "Validation status overridden") + XCTAssertEqual(update.state.shouldPresentAsInvalid, true, "Error message is displayed") + + update = FormField.update(state: update.state, action: .setValue(input: "anything else"), environment: environment) + XCTAssertEqual(update.state.isValid, false, "Field is invalid after update") + + update = FormField.update(state: update.state, action: .setValidationStatus(valid: false), environment: environment) + XCTAssertEqual(update.state.isValid, false, "Validation status overridden") } } From 8940207d3aafaa0673a85b7bc28ae92ce5f3fb39 Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Thu, 29 Jun 2023 09:33:34 +1000 Subject: [PATCH 21/29] Fix QR code scanning -> populate field https://github.com/subconsciousnetwork/subconscious/issues/763 --- .../Shared/Components/Common/Profile/FollowUserFormSheet.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xcode/Subconscious/Shared/Components/Common/Profile/FollowUserFormSheet.swift b/xcode/Subconscious/Shared/Components/Common/Profile/FollowUserFormSheet.swift index b61337a8..b458322a 100644 --- a/xcode/Subconscious/Shared/Components/Common/Profile/FollowUserFormSheet.swift +++ b/xcode/Subconscious/Shared/Components/Common/Profile/FollowUserFormSheet.swift @@ -173,7 +173,7 @@ struct FollowNewUserFormSheetModel: ModelProtocol { return update( state: state, actions: [ - .form(.didField(.markAsTouched)), + .form(.didField(.reset)), .form(.didField(.setValue(input: content))) ], environment: environment From 1d2b20a9fb3a60fa913b074765f13aa5bf0f85cc Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Thu, 29 Jun 2023 09:36:16 +1000 Subject: [PATCH 22/29] Add diagrams to docs folder --- docs/gateway-provisioning/first-run.png | Bin 0 -> 301753 bytes docs/gateway-provisioning/settings-view.png | Bin 0 -> 314654 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/gateway-provisioning/first-run.png create mode 100644 docs/gateway-provisioning/settings-view.png diff --git a/docs/gateway-provisioning/first-run.png b/docs/gateway-provisioning/first-run.png new file mode 100644 index 0000000000000000000000000000000000000000..a0d1cf0cb8910a19c15de5754a001bb503b402d3 GIT binary patch literal 301753 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 z%0D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
  • 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¥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 At^fc4 literal 0 HcmV?d00001 From 6056833b8f9c67a04e6e85f2bc082f4e58b12c54 Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Fri, 30 Jun 2023 09:36:50 +1000 Subject: [PATCH 23/29] Break settings sections out into separate files --- .../Components/Common/ResourceSyncBadge.swift | 45 ++++ .../GatewayProvisioningSettingsSection.swift | 100 ++++++++ .../Settings/GatewayURLSettingsView.swift | 236 +----------------- .../Settings/InviteCodeSettingsSection.swift | 116 +++++++++ .../Subconscious.xcodeproj/project.pbxproj | 14 ++ 5 files changed, 277 insertions(+), 234 deletions(-) create mode 100644 xcode/Subconscious/Shared/Components/Common/ResourceSyncBadge.swift create mode 100644 xcode/Subconscious/Shared/Components/Settings/GatewayProvisioningSettingsSection.swift create mode 100644 xcode/Subconscious/Shared/Components/Settings/InviteCodeSettingsSection.swift diff --git a/xcode/Subconscious/Shared/Components/Common/ResourceSyncBadge.swift b/xcode/Subconscious/Shared/Components/Common/ResourceSyncBadge.swift new file mode 100644 index 00000000..fdce3ddf --- /dev/null +++ b/xcode/Subconscious/Shared/Components/Common/ResourceSyncBadge.swift @@ -0,0 +1,45 @@ +// +// ResourceSyncBadge.swift +// Subconscious (iOS) +// +// Created by Ben Follington on 30/6/2023. +// + +import Foundation +import SwiftUI + +struct PendingSyncBadge: View { + @State var spin = false + + var body: some View { + Image(systemName: "arrow.triangle.2.circlepath") + .rotationEffect(.degrees(spin ? 360 : 0)) + .animation(Animation.linear + .repeatForever(autoreverses: false) + .speed(0.4), value: spin) + .task{ + self.spin = true + } + } +} + +struct ResourceSyncBadge: View { + var status: ResourceStatus + + var body: some View { + switch status { + case .initial: + Image(systemName: "arrow.triangle.2.circlepath") + .foregroundColor(.secondary) + case .pending: + PendingSyncBadge() + .foregroundColor(.secondary) + case .succeeded: + Image(systemName: "checkmark.circle") + .foregroundColor(.secondary) + case .failed: + Image(systemName: "exclamationmark.arrow.triangle.2.circlepath") + .foregroundColor(.red) + } + } +} diff --git a/xcode/Subconscious/Shared/Components/Settings/GatewayProvisioningSettingsSection.swift b/xcode/Subconscious/Shared/Components/Settings/GatewayProvisioningSettingsSection.swift new file mode 100644 index 00000000..e0a79334 --- /dev/null +++ b/xcode/Subconscious/Shared/Components/Settings/GatewayProvisioningSettingsSection.swift @@ -0,0 +1,100 @@ +// +// GatewayProvisioningSettingsSection.swift +// Subconscious (iOS) +// +// Created by Ben Follington on 30/6/2023. +// + +import Foundation +import SwiftUI +import ObservableStore + +struct GatewayProvisionLabel: View { + var status: ResourceStatus + + var label: String { + switch (status) { + case .initial: + return "Check Gateway Status" + case .pending: + return "Waiting..." + case .failed: + return "Gateway Error" + case .succeeded: + return "Gateway Ready" + case _: + return "Provision Gateway" + } + } + + var color: Color { + switch status { + case .failed: + return .red + default: + return .accentColor + } + } + + var body: some View { + Label(title: { + Text(label) + }, icon: { + ResourceSyncBadge(status: status) + }) + .foregroundColor(color) + } +} + +struct GatewayProvisioningSettingsSection: View { + @ObservedObject var app: Store + var gatewayId: String + + var body: some View { + Section( + content: { + LabeledContent( + "Gateway ID", + value: gatewayId + ) + .lineLimit(1) + .textSelection(.enabled) + + if let inviteCode = app.state.inviteCode { + LabeledContent( + "Invite Code", + value: inviteCode.description + ) + .lineLimit(1) + .textSelection(.enabled) + } + + Button( + action: { + app.send(.requestGatewayProvisioningStatus) + }, + label: { + GatewayProvisionLabel( + status: app.state.gatewayProvisioningStatus + ) + } + ) + .disabled(app.state.gatewayOperationInProgress) + }, + header: { + Text("Your Gateway") + }, + footer: { + VStack { + switch app.state.gatewayProvisioningStatus { + case let .failed(message): + Text(message) + default: + EmptyView() + } + + } + } + ) + } +} diff --git a/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift b/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift index fb405af6..031eb289 100644 --- a/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift +++ b/xcode/Subconscious/Shared/Components/Settings/GatewayURLSettingsView.swift @@ -8,238 +8,6 @@ import SwiftUI import ObservableStore -struct PendingSyncBadge: View { - @State var spin = false - - var body: some View { - Image(systemName: "arrow.triangle.2.circlepath") - .rotationEffect(.degrees(spin ? 360 : 0)) - .animation(Animation.linear - .repeatForever(autoreverses: false) - .speed(0.4), value: spin) - .task{ - self.spin = true - } - } -} - -struct ResourceSyncBadge: View { - var status: ResourceStatus - - var body: some View { - switch status { - case .initial: - Image(systemName: "arrow.triangle.2.circlepath") - .foregroundColor(.secondary) - case .pending: - PendingSyncBadge() - .foregroundColor(.secondary) - case .succeeded: - Image(systemName: "checkmark.circle") - .foregroundColor(.secondary) - case .failed: - Image(systemName: "exclamationmark.arrow.triangle.2.circlepath") - .foregroundColor(.red) - } - } -} - -struct RedeemInviteCodeLabel: View { - var status: ResourceStatus - - var label: String { - switch (status) { - case .initial: - return "Redeem Invite Code" - case .pending: - return "Redeeming..." - case .failed: - return "Failed to Redeem Invite Code" - case .succeeded: - return "Code Redeemed" - } - } - - var color: Color { - switch status { - case .failed: - return .red - default: - return .accentColor - } - } - - var body: some View { - Label(title: { - Text(label) - }, icon: { - ResourceSyncBadge(status: status) - }) - .foregroundColor(color) - } -} - - -struct GatewayProvisionLabel: View { - var status: ResourceStatus - - var label: String { - switch (status) { - case .initial: - return "Check Gateway Status" - case .pending: - return "Waiting..." - case .failed: - return "Gateway Error" - case .succeeded: - return "Gateway Ready" - case _: - return "Provision Gateway" - } - } - - var color: Color { - switch status { - case .failed: - return .red - default: - return .accentColor - } - } - - var body: some View { - Label(title: { - Text(label) - }, icon: { - ResourceSyncBadge(status: status) - }) - .foregroundColor(color) - } -} - -// MARK: Provisioning - -struct ValidatedInviteCodeFormField: View { - @ObservedObject var app: Store - - var body: some View { - ValidatedFormField( - placeholder: "Enter an invite code", - field: app.state.inviteCodeFormField, - send: Address.forward( - send: app.send, - tag: AppAction.inviteCodeFormField - ), - caption: Func.run { - switch app.state.inviteCodeRedemptionStatus { - case .failed(_): - return "Could not redeem invite code" - case _: - return "Your ticket to the Noosphere" - } - } - ) - .autocapitalization(.none) - .autocorrectionDisabled(true) - .textInputAutocapitalization(.never) - .disabled(app.state.gatewayOperationInProgress) - } -} - -struct InviteCodeSection: View { - @ObservedObject var app: Store - - var body: some View { - Section( - content: { - ValidatedInviteCodeFormField(app: app) - - Button( - action: { - app.send(.submitInviteCodeForm) - }, - label: { - RedeemInviteCodeLabel( - status: app.state.inviteCodeRedemptionStatus - ) - } - ) - .disabled( - !app.state.inviteCodeFormField.isValid || - app.state.gatewayOperationInProgress - ) - }, - header: { - Text("Invite Code") - }, - footer: { - VStack { - switch app.state.gatewayProvisioningStatus { - case let .failed(message): - Text(message) - default: - EmptyView() - } - - } - } - ) - } -} - -struct GatewayProvisioningSection: View { - @ObservedObject var app: Store - var gatewayId: String - - var body: some View { - Section( - content: { - LabeledContent( - "Gateway ID", - value: gatewayId - ) - .lineLimit(1) - .textSelection(.enabled) - - if let inviteCode = app.state.inviteCode { - LabeledContent( - "Invite Code", - value: inviteCode.description - ) - .lineLimit(1) - .textSelection(.enabled) - } - - Button( - action: { - app.send(.requestGatewayProvisioningStatus) - }, - label: { - GatewayProvisionLabel( - status: app.state.gatewayProvisioningStatus - ) - } - ) - .disabled(app.state.gatewayOperationInProgress) - }, - header: { - Text("Your Gateway") - }, - footer: { - VStack { - switch app.state.gatewayProvisioningStatus { - case let .failed(message): - Text(message) - default: - EmptyView() - } - - } - } - ) - } -} - struct GatewayURLSettingsView: View { @ObservedObject var app: Store @@ -292,10 +60,10 @@ struct GatewayURLSettingsView: View { ) if let gatewayId = app.state.gatewayId { - GatewayProvisioningSection(app: app, gatewayId: gatewayId) + GatewayProvisioningSettingsSection(app: app, gatewayId: gatewayId) } - InviteCodeSection(app: app) + InviteCodeSettingsSection(app: app) } .navigationTitle("Gateway URL") } diff --git a/xcode/Subconscious/Shared/Components/Settings/InviteCodeSettingsSection.swift b/xcode/Subconscious/Shared/Components/Settings/InviteCodeSettingsSection.swift new file mode 100644 index 00000000..9a605183 --- /dev/null +++ b/xcode/Subconscious/Shared/Components/Settings/InviteCodeSettingsSection.swift @@ -0,0 +1,116 @@ +// +// InviteCodeSettingsSection.swift +// Subconscious (iOS) +// +// Created by Ben Follington on 30/6/2023. +// + +import Foundation +import SwiftUI +import ObservableStore + +struct RedeemInviteCodeLabel: View { + var status: ResourceStatus + + var label: String { + switch (status) { + case .initial: + return "Redeem Invite Code" + case .pending: + return "Redeeming..." + case .failed: + return "Failed to Redeem Invite Code" + case .succeeded: + return "Code Redeemed" + } + } + + var color: Color { + switch status { + case .failed: + return .red + default: + return .accentColor + } + } + + var body: some View { + Label( + title: { + Text(label) + }, + icon: { + ResourceSyncBadge(status: status) + } + ) + .foregroundColor(color) + } +} + +struct ValidatedInviteCodeFormField: View { + @ObservedObject var app: Store + + var body: some View { + ValidatedFormField( + placeholder: "Enter an invite code", + field: app.state.inviteCodeFormField, + send: Address.forward( + send: app.send, + tag: AppAction.inviteCodeFormField + ), + caption: Func.run { + switch app.state.inviteCodeRedemptionStatus { + case .failed(_): + return "Could not redeem invite code" + case _: + return "Your ticket to the Noosphere" + } + } + ) + .autocapitalization(.none) + .autocorrectionDisabled(true) + .textInputAutocapitalization(.never) + .disabled(app.state.gatewayOperationInProgress) + } +} + +struct InviteCodeSettingsSection: View { + @ObservedObject var app: Store + + var body: some View { + Section( + content: { + ValidatedInviteCodeFormField(app: app) + + Button( + action: { + app.send(.submitInviteCodeForm) + }, + label: { + RedeemInviteCodeLabel( + status: app.state.inviteCodeRedemptionStatus + ) + } + ) + .disabled( + !app.state.inviteCodeFormField.isValid || + app.state.gatewayOperationInProgress + ) + }, + header: { + Text("Invite Code") + }, + footer: { + VStack { + switch app.state.gatewayProvisioningStatus { + case let .failed(message): + Text(message) + default: + EmptyView() + } + + } + } + ) + } +} diff --git a/xcode/Subconscious/Subconscious.xcodeproj/project.pbxproj b/xcode/Subconscious/Subconscious.xcodeproj/project.pbxproj index 845430d5..a8329d6b 100644 --- a/xcode/Subconscious/Subconscious.xcodeproj/project.pbxproj +++ b/xcode/Subconscious/Subconscious.xcodeproj/project.pbxproj @@ -53,6 +53,9 @@ B58C1FBB2A12F8DE0085A1FE /* ProfilePicFrameViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58C1FB92A12F8DE0085A1FE /* ProfilePicFrameViewModifier.swift */; }; B58C73A729DBB3B500B00EA1 /* UserProfileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58C73A629DBB3B500B00EA1 /* UserProfileView.swift */; }; B58C73A829DBB3B500B00EA1 /* UserProfileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58C73A629DBB3B500B00EA1 /* UserProfileView.swift */; }; + B58FD6712A4E4BF000826548 /* GatewayProvisioningSettingsSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58FD6702A4E4BF000826548 /* GatewayProvisioningSettingsSection.swift */; }; + B58FD6732A4E4C0E00826548 /* InviteCodeSettingsSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58FD6722A4E4C0E00826548 /* InviteCodeSettingsSection.swift */; }; + B58FD6752A4E4C8200826548 /* ResourceSyncBadge.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58FD6742A4E4C8200826548 /* ResourceSyncBadge.swift */; }; B58FE48A28DED93F00E000CC /* ComboGeist.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58FE48928DED93F00E000CC /* ComboGeist.swift */; }; B58FE48C28DED9B600E000CC /* StoryCombo.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58FE48B28DED9B600E000CC /* StoryCombo.swift */; }; B58FE48E28DEDAEA00E000CC /* StoryComboView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58FE48D28DEDAEA00E000CC /* StoryComboView.swift */; }; @@ -489,6 +492,9 @@ B58A46B929D4004B00491E43 /* UserProfileDetailMetaSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserProfileDetailMetaSheet.swift; sourceTree = ""; }; B58C1FB92A12F8DE0085A1FE /* ProfilePicFrameViewModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfilePicFrameViewModifier.swift; sourceTree = ""; }; B58C73A629DBB3B500B00EA1 /* UserProfileView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UserProfileView.swift; sourceTree = ""; }; + B58FD6702A4E4BF000826548 /* GatewayProvisioningSettingsSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GatewayProvisioningSettingsSection.swift; sourceTree = ""; }; + B58FD6722A4E4C0E00826548 /* InviteCodeSettingsSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InviteCodeSettingsSection.swift; sourceTree = ""; }; + B58FD6742A4E4C8200826548 /* ResourceSyncBadge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResourceSyncBadge.swift; sourceTree = ""; }; B58FE48928DED93F00E000CC /* ComboGeist.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ComboGeist.swift; sourceTree = ""; }; B58FE48B28DED9B600E000CC /* StoryCombo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StoryCombo.swift; sourceTree = ""; }; B58FE48D28DEDAEA00E000CC /* StoryComboView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StoryComboView.swift; sourceTree = ""; }; @@ -1038,7 +1044,9 @@ isa = PBXGroup; children = ( B848FDA82991836900245115 /* DeveloperSettingsView.swift */, + B58FD6702A4E4BF000826548 /* GatewayProvisioningSettingsSection.swift */, B88B1CE6298EEC240062CB7F /* GatewayURLSettingsView.swift */, + B58FD6722A4E4C0E00826548 /* InviteCodeSettingsSection.swift */, B88B1CDD298DE66E0062CB7F /* SettingsView.swift */, B8E00A2F2992DAA9003B40C1 /* ProfileSettingsView.swift */, ); @@ -1357,6 +1365,9 @@ B85BF47427BB3D6E00F55730 /* ToolbarTitleGroupView.swift */, B532F8C129B1750F00CE9256 /* Transclude */, B8A41D4D2811E81E0096D2E7 /* WikilinkBarView.swift */, + B5A7AD312A0D0B0E007C3535 /* EmptyStateView.swift */, + B5D71D182A32B2AF000E058A /* NotFoundView.swift */, + B58FD6742A4E4C8200826548 /* ResourceSyncBadge.swift */, ); path = Common; sourceTree = ""; @@ -1729,6 +1740,7 @@ B8CA8F20288F1875005F8802 /* RandomPromptGeist.swift in Sources */, B8B3EE79297AF6E500779B7F /* FirstRunProfileView.swift in Sources */, B549B16B2A0CDAC10070C6AD /* FirstRunRecoveryView.swift in Sources */, + B58FD6712A4E4BF000826548 /* GatewayProvisioningSettingsSection.swift in Sources */, B8A1621829B39337008322EB /* ExpandAlignedLeadingViewModifier.swift in Sources */, B8109C2827A8879C00CD2B6D /* AppTheme.swift in Sources */, B54930B12A2F0FE300958F12 /* StoryPlaceholderView.swift in Sources */, @@ -1771,6 +1783,7 @@ B8879EAC26F944DA00A0B4FF /* MemoEditorDetail.swift in Sources */, B8E1A94B2A14198400B757A5 /* OurSphereRecord.swift in Sources */, B88A91A12A4C9C0100422ABF /* EntryListEmptyView.swift in Sources */, + B58FD6732A4E4C0E00826548 /* InviteCodeSettingsSection.swift in Sources */, B5F6ADC929C02F4A00690DE4 /* AddressBookService.swift in Sources */, B8925B2F29C23017001F9503 /* MemoViewerDetailView.swift in Sources */, B56C3D3E2A01E5020071EF70 /* InviteCode.swift in Sources */, @@ -1780,6 +1793,7 @@ B82C3A7626F6B5BF00833CC8 /* StringUtilities.swift in Sources */, B85BF47827BC2B4700F55730 /* DetailToolbarContent.swift in Sources */, B8CBAFA42994491B0079107E /* MenuButtonView.swift in Sources */, + B58FD6752A4E4C8200826548 /* ResourceSyncBadge.swift in Sources */, B57C0AF729D29A8F00D352E3 /* TabbedThreeColumnView.swift in Sources */, B57C0AEE29D280BB00D352E3 /* ThreeColumnView.swift in Sources */, B50B045B2A04B61000AA584B /* TranscludeService.swift in Sources */, From 059b2f1206564b397845ddfab3356716dad06091 Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Fri, 30 Jun 2023 09:36:56 +1000 Subject: [PATCH 24/29] Formatting --- xcode/Subconscious/Shared/Components/AppView.swift | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/xcode/Subconscious/Shared/Components/AppView.swift b/xcode/Subconscious/Shared/Components/AppView.swift index c12af245..4846f389 100644 --- a/xcode/Subconscious/Shared/Components/AppView.swift +++ b/xcode/Subconscious/Shared/Components/AppView.swift @@ -1196,15 +1196,13 @@ struct AppModel: ModelProtocol { environment: AppEnvironment, receipt: SphereReceipt ) -> Update { - let actions: [AppAction] = [ - .setSphereIdentity(receipt.identity), - .setRecoveryPhrase(receipt.mnemonic), - .followDefaultGeist, - ] - return update( state: state, - actions: actions, + actions: [ + .setSphereIdentity(receipt.identity), + .setRecoveryPhrase(receipt.mnemonic), + .followDefaultGeist + ], environment: environment ) } From 914e4c3af2a2f3e6b112760a9d9f54b01ebfda4e Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Fri, 30 Jun 2023 09:37:09 +1000 Subject: [PATCH 25/29] Surface UI error for missing sphere --- xcode/Subconscious/Shared/Components/AppView.swift | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/xcode/Subconscious/Shared/Components/AppView.swift b/xcode/Subconscious/Shared/Components/AppView.swift index 4846f389..1eb686a6 100644 --- a/xcode/Subconscious/Shared/Components/AppView.swift +++ b/xcode/Subconscious/Shared/Components/AppView.swift @@ -1948,8 +1948,17 @@ struct AppModel: ModelProtocol { ) -> Update { guard let did = state.sphereIdentity, let did = Did(did) else { - logger.error("Missing identity, cannot redeem invite code") - return Update(state: state) + // Attempt to create the sphere if it's missing. + // We could retry redeeming the code automatically but + // if .createSphere fails we'll end up in an infinite loop + return update( + state: state, + actions: [ + .failRedeemInviteCode("Missing identity, cannot redeem invite code"), + .createSphere + ], + environment: environment + ) } let fx: Fx = environment.gatewayProvisioningService From 3d975c6046807806f9a5efaf2cdb1951f71c3148 Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Fri, 30 Jun 2023 09:38:14 +1000 Subject: [PATCH 26/29] Tweak copy --- .../Subconscious/Shared/Components/FirstRun/FirstRunView.swift | 2 +- .../Shared/Components/Settings/InviteCodeSettingsSection.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift index 03e2c5a1..1c194736 100644 --- a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift +++ b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift @@ -90,7 +90,7 @@ struct FirstRunView: View { case .failed(_): return "Could not redeem invite code" case _: - return "Your ticket to the Noosphere" + return "You can find your invite code in your welcome email" } }, onFocusChanged: { focused in diff --git a/xcode/Subconscious/Shared/Components/Settings/InviteCodeSettingsSection.swift b/xcode/Subconscious/Shared/Components/Settings/InviteCodeSettingsSection.swift index 9a605183..58efd0b3 100644 --- a/xcode/Subconscious/Shared/Components/Settings/InviteCodeSettingsSection.swift +++ b/xcode/Subconscious/Shared/Components/Settings/InviteCodeSettingsSection.swift @@ -63,7 +63,7 @@ struct ValidatedInviteCodeFormField: View { case .failed(_): return "Could not redeem invite code" case _: - return "Your ticket to the Noosphere" + return "You can find your invite code in your welcome email" } } ) From e9358147cd616764cebe0be29f2a4f19535e5dbf Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Fri, 30 Jun 2023 09:51:53 +1000 Subject: [PATCH 27/29] Remove .initial case from FirstRunStep Remodel with explicit actions instead --- .../Shared/Components/AppView.swift | 176 +++++++++++------- .../FirstRun/FirstRunDoneView.swift | 2 +- .../FirstRun/FirstRunProfileView.swift | 4 +- .../FirstRun/FirstRunRecoveryView.swift | 2 +- .../FirstRun/FirstRunSphereView.swift | 2 +- .../Components/FirstRun/FirstRunView.swift | 4 +- .../Subconscious.xcodeproj/project.pbxproj | 8 +- .../SubconsciousTests/Tests_FirstRun.swift | 18 +- 8 files changed, 125 insertions(+), 91 deletions(-) diff --git a/xcode/Subconscious/Shared/Components/AppView.swift b/xcode/Subconscious/Shared/Components/AppView.swift index 1eb686a6..9b30699a 100644 --- a/xcode/Subconscious/Shared/Components/AppView.swift +++ b/xcode/Subconscious/Shared/Components/AppView.swift @@ -223,7 +223,13 @@ enum AppAction: CustomLogStringConvertible { case setFirstRunPath([FirstRunStep]) case pushFirstRunStep(FirstRunStep) - case submitFirstRunStep(current: FirstRunStep) + + case submitFirstRunWelcomeStep + case submitFirstRunProfileStep + case submitFirstRunSphereStep + case submitFirstRunRecoveryStep + case submitFirstRunDoneStep + case requestOfflineMode /// Set settings sheet presented? @@ -396,7 +402,6 @@ enum AppDatabaseState { } enum FirstRunStep { - case initial case nickname case sphere case recovery @@ -580,11 +585,30 @@ struct AppModel: ModelProtocol { model.firstRunPath.append(step) return Update(state: model) - case let .submitFirstRunStep(current): - return submitFirstRunStep( + case .submitFirstRunWelcomeStep: + return submitFirstRunWelcomeStep( state: state, - environment: environment, - current: current + environment: environment + ) + case .submitFirstRunProfileStep: + return submitFirstRunProfileStep( + state: state, + environment: environment + ) + case .submitFirstRunSphereStep: + return submitFirstRunSphereStep( + state: state, + environment: environment + ) + case .submitFirstRunRecoveryStep: + return submitFirstRunRecoveryStep( + state: state, + environment: environment + ) + case .submitFirstRunDoneStep: + return submitFirstRunDoneStep( + state: state, + environment: environment ) case .requestOfflineMode: return requestOfflineMode( @@ -1298,78 +1322,90 @@ struct AppModel: ModelProtocol { state: model, actions: [ .inviteCodeFormField(.reset), - .submitFirstRunStep(current: .initial) + .submitFirstRunWelcomeStep ], environment: environment ) } - static func submitFirstRunStep( + static func submitFirstRunWelcomeStep( state: AppModel, - environment: AppEnvironment, - current: FirstRunStep + environment: AppEnvironment ) -> Update { - switch (current) { - case .initial: - guard state.inviteCode == nil || // Offline mode: no code - state.gatewayId != nil // Otherwise we need an ID to proceed - else { - logger.error("Missing gateway ID but user is trying to use invite code") - return Update(state: state) - } - - return update( - state: state, - actions: [ - .pushFirstRunStep(.nickname) - ], - environment: environment - ) - - case .nickname: - guard let nickname = state.nicknameFormField.validated else { - logger.error("Cannot advance, nickname is invalid") - return Update(state: state) - } - - return update( - state: state, - actions: [ - .submitNickname(nickname), - .pushFirstRunStep(.sphere) - ], - environment: environment - ) - - case .sphere: - return update( - state: state, - actions: [ - .pushFirstRunStep(.recovery) - ], - environment: environment - ) - - case .recovery: - return update( - state: state, - actions: [ - .pushFirstRunStep(.connect) - ], - environment: environment - ) - - case .connect: - return update( - state: state, - actions: [ - .inviteCodeFormField(.reset), - .nicknameFormField(.reset), - .persistFirstRunComplete(true) - ], - environment: environment - ) + guard state.inviteCode == nil || // Offline mode: no code + state.gatewayId != nil // Otherwise we need an ID to proceed + else { + logger.error("Missing gateway ID but user is trying to use invite code") + return Update(state: state) } + + return update( + state: state, + actions: [ + .pushFirstRunStep(.nickname) + ], + environment: environment + ) + } + + static func submitFirstRunProfileStep( + state: AppModel, + environment: AppEnvironment + ) -> Update { + guard let nickname = state.nicknameFormField.validated else { + logger.error("Cannot advance, nickname is invalid") + return Update(state: state) + } + + return update( + state: state, + actions: [ + .submitNickname(nickname), + .pushFirstRunStep(.sphere) + ], + environment: environment + ) + } + + static func submitFirstRunSphereStep( + state: AppModel, + environment: AppEnvironment + ) -> Update { + return update( + state: state, + actions: [ + .pushFirstRunStep(.recovery) + ], + environment: environment + ) + } + + static func submitFirstRunRecoveryStep( + state: AppModel, + environment: AppEnvironment + ) -> Update { + return update( + state: state, + actions: [ + .pushFirstRunStep(.connect) + ], + environment: environment + ) + } + + static func submitFirstRunDoneStep( + state: AppModel, + environment: AppEnvironment + ) -> Update { + return update( + state: state, + actions: [ + .inviteCodeFormField(.reset), + .nicknameFormField(.reset), + .persistFirstRunComplete(true) + ], + environment: environment + ) } /// Reset NoosphereService managed instances of `Noosphere` and `Sphere`. diff --git a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunDoneView.swift b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunDoneView.swift index 40711e2b..336606b7 100644 --- a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunDoneView.swift +++ b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunDoneView.swift @@ -92,7 +92,7 @@ struct FirstRunDoneView: View { Spacer() Button( action: { - app.send(.submitFirstRunStep(current: .connect)) + app.send(.submitFirstRunDoneStep) } ) { Text("Begin") diff --git a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunProfileView.swift b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunProfileView.swift index d64a8be7..cb660d14 100644 --- a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunProfileView.swift +++ b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunProfileView.swift @@ -30,7 +30,7 @@ struct FirstRunProfileView: View { autoFocus: true, submitLabel: .go, onSubmit: { - app.send(.submitFirstRunStep(current: .nickname)) + app.send(.submitFirstRunProfileStep) } ) .textFieldStyle(.roundedBorder) @@ -47,7 +47,7 @@ struct FirstRunProfileView: View { if !app.state.nicknameFormField.hasFocus { Button(action: { - app.send(.submitFirstRunStep(current: .nickname)) + app.send(.submitFirstRunProfileStep) }, label: { Text("Continue") }) diff --git a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunRecoveryView.swift b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunRecoveryView.swift index a8159eb3..6b37b905 100644 --- a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunRecoveryView.swift +++ b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunRecoveryView.swift @@ -43,7 +43,7 @@ struct FirstRunRecoveryView: View { Spacer() Button(action: { - app.send(.submitFirstRunStep(current: .recovery)) + app.send(.submitFirstRunRecoveryStep) }, label: { Text("Ok, I wrote it down") }) diff --git a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunSphereView.swift b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunSphereView.swift index 663356a4..246e936f 100644 --- a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunSphereView.swift +++ b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunSphereView.swift @@ -51,7 +51,7 @@ struct FirstRunSphereView: View { Spacer() Button(action: { - app.send(.submitFirstRunStep(current: .sphere)) + app.send(.submitFirstRunSphereStep) }, label: { Text("Got it") }) diff --git a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift index 1c194736..35d1bacf 100644 --- a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift +++ b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift @@ -110,7 +110,7 @@ struct FirstRunView: View { Spacer() Button(action: { - app.send(.submitFirstRunStep(current: .initial)) + app.send(.submitFirstRunWelcomeStep) }, label: { Text("Get Started") }) @@ -154,8 +154,6 @@ struct FirstRunView: View { for: FirstRunStep.self ) { step in switch step { - case .initial: - EmptyView() case .nickname: FirstRunProfileView(app: app) case .sphere: diff --git a/xcode/Subconscious/Subconscious.xcodeproj/project.pbxproj b/xcode/Subconscious/Subconscious.xcodeproj/project.pbxproj index a8329d6b..ae0cd610 100644 --- a/xcode/Subconscious/Subconscious.xcodeproj/project.pbxproj +++ b/xcode/Subconscious/Subconscious.xcodeproj/project.pbxproj @@ -1086,12 +1086,12 @@ B8B3EE712979DEDF00779B7F /* FirstRun */ = { isa = PBXGroup; children = ( - B8B3EE74297AEE6600779B7F /* FirstRunSphereView.swift */, - B8B3EE76297AEE8B00779B7F /* FirstRunDoneView.swift */, - B8B3EE78297AF6E500779B7F /* FirstRunProfileView.swift */, B8B3EE722979DEE900779B7F /* FirstRunView.swift */, - B88B1CE4298EB10D0062CB7F /* RecoveryPhraseView.swift */, + B8B3EE78297AF6E500779B7F /* FirstRunProfileView.swift */, + B8B3EE74297AEE6600779B7F /* FirstRunSphereView.swift */, B549B16A2A0CDAC10070C6AD /* FirstRunRecoveryView.swift */, + B88B1CE4298EB10D0062CB7F /* RecoveryPhraseView.swift */, + B8B3EE76297AEE8B00779B7F /* FirstRunDoneView.swift */, ); path = FirstRun; sourceTree = ""; diff --git a/xcode/Subconscious/SubconsciousTests/Tests_FirstRun.swift b/xcode/Subconscious/SubconsciousTests/Tests_FirstRun.swift index d0f92bdc..2a71c955 100644 --- a/xcode/Subconscious/SubconsciousTests/Tests_FirstRun.swift +++ b/xcode/Subconscious/SubconsciousTests/Tests_FirstRun.swift @@ -29,7 +29,7 @@ final class Tests_FirstRun: XCTestCase { let model = AppModel() let up1 = AppModel.update( state: model, - action: .submitFirstRunStep(current: .initial), + action: .submitFirstRunWelcomeStep, environment: AppEnvironment() ) @@ -80,7 +80,7 @@ final class Tests_FirstRun: XCTestCase { actions: [ .inviteCodeFormField(.setValue(input: "one two three four")), .submitInviteCodeForm, - .submitFirstRunStep(current: .initial) + .submitFirstRunWelcomeStep ], environment: AppEnvironment() ) @@ -99,7 +99,7 @@ final class Tests_FirstRun: XCTestCase { .inviteCodeFormField(.setValue(input: "one two three four")), .submitInviteCodeForm, .succeedRedeemInviteCode("my-gateway"), - .submitFirstRunStep(current: .initial) + .submitFirstRunWelcomeStep ], environment: AppEnvironment() ) @@ -141,7 +141,7 @@ final class Tests_FirstRun: XCTestCase { let model = AppModel(firstRunPath: [.nickname]) let up1 = AppModel.update( state: model, - action: .submitFirstRunStep(current: .nickname), + action: .submitFirstRunProfileStep, environment: AppEnvironment() ) @@ -151,7 +151,7 @@ final class Tests_FirstRun: XCTestCase { state: model, actions: [ .nicknameFormField(.setValue(input: "my-name")), - .submitFirstRunStep(current: .nickname) + .submitFirstRunProfileStep ], environment: AppEnvironment() ) @@ -162,7 +162,7 @@ final class Tests_FirstRun: XCTestCase { state: model, actions: [ .nicknameFormField(.setValue(input: "My Crazy Name!")), - .submitFirstRunStep(current: .nickname) + .submitFirstRunProfileStep ], environment: AppEnvironment() ) @@ -174,7 +174,7 @@ final class Tests_FirstRun: XCTestCase { let model = AppModel(firstRunPath: [.nickname, .sphere]) let up1 = AppModel.update( state: model, - action: .submitFirstRunStep(current: .sphere), + action: .submitFirstRunSphereStep, environment: AppEnvironment() ) @@ -185,7 +185,7 @@ final class Tests_FirstRun: XCTestCase { let model = AppModel(firstRunPath: [.nickname, .sphere, .recovery]) let up1 = AppModel.update( state: model, - action: .submitFirstRunStep(current: .recovery), + action: .submitFirstRunRecoveryStep, environment: AppEnvironment() ) @@ -196,7 +196,7 @@ final class Tests_FirstRun: XCTestCase { let model = AppModel(firstRunPath: [.nickname, .sphere, .recovery, .connect]) let up1 = AppModel.update( state: model, - action: .submitFirstRunStep(current: .connect), + action: .submitFirstRunDoneStep, environment: AppEnvironment() ) From e23078dee96a9c2b9730eda8a2061b056d90237b Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Fri, 30 Jun 2023 09:52:16 +1000 Subject: [PATCH 28/29] Rename .nickname -> .profile --- .../Shared/Components/AppView.swift | 4 +-- .../Components/FirstRun/FirstRunView.swift | 2 +- .../SubconsciousTests/Tests_FirstRun.swift | 28 +++++++++---------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/xcode/Subconscious/Shared/Components/AppView.swift b/xcode/Subconscious/Shared/Components/AppView.swift index 9b30699a..eddea1c0 100644 --- a/xcode/Subconscious/Shared/Components/AppView.swift +++ b/xcode/Subconscious/Shared/Components/AppView.swift @@ -402,7 +402,7 @@ enum AppDatabaseState { } enum FirstRunStep { - case nickname + case profile case sphere case recovery case connect @@ -1342,7 +1342,7 @@ struct AppModel: ModelProtocol { return update( state: state, actions: [ - .pushFirstRunStep(.nickname) + .pushFirstRunStep(.profile) ], environment: environment ) diff --git a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift index 35d1bacf..3a5845f0 100644 --- a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift +++ b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift @@ -154,7 +154,7 @@ struct FirstRunView: View { for: FirstRunStep.self ) { step in switch step { - case .nickname: + case .profile: FirstRunProfileView(app: app) case .sphere: FirstRunSphereView(app: app) diff --git a/xcode/Subconscious/SubconsciousTests/Tests_FirstRun.swift b/xcode/Subconscious/SubconsciousTests/Tests_FirstRun.swift index 2a71c955..aeddaeb8 100644 --- a/xcode/Subconscious/SubconsciousTests/Tests_FirstRun.swift +++ b/xcode/Subconscious/SubconsciousTests/Tests_FirstRun.swift @@ -37,7 +37,7 @@ final class Tests_FirstRun: XCTestCase { XCTAssertNil(up1.state.gatewayId) XCTAssertEqual( up1.state.firstRunPath, - [.nickname], + [.profile], "proceed in offline mode by default" ) @@ -53,7 +53,7 @@ final class Tests_FirstRun: XCTestCase { XCTAssertNil(up2.state.gatewayId) XCTAssertEqual( up2.state.firstRunPath, - [.nickname], + [.profile], "proceed if the user requests offline mode" ) @@ -71,7 +71,7 @@ final class Tests_FirstRun: XCTestCase { XCTAssertNil(up3.state.gatewayId) XCTAssertEqual( up3.state.firstRunPath, - [.nickname], + [.profile], "proceed if the user requests offline mode after using form" ) @@ -106,7 +106,7 @@ final class Tests_FirstRun: XCTestCase { XCTAssertEqual( up5.state.firstRunPath, - [.nickname], + [.profile], "proceed with invite code + gateway ID" ) XCTAssertEqual(up5.state.inviteCode, InviteCode("one two three four")!) @@ -126,7 +126,7 @@ final class Tests_FirstRun: XCTestCase { XCTAssertEqual( up6.state.firstRunPath, - [.nickname], + [.profile], "clear invite code + gateway ID when requesting offline" ) XCTAssertNil(up6.state.inviteCode) @@ -138,14 +138,14 @@ final class Tests_FirstRun: XCTestCase { } func testFirstRunProfileStep() throws { - let model = AppModel(firstRunPath: [.nickname]) + let model = AppModel(firstRunPath: [.profile]) let up1 = AppModel.update( state: model, action: .submitFirstRunProfileStep, environment: AppEnvironment() ) - XCTAssertEqual(up1.state.firstRunPath, [.nickname], "cannot advance without a nickname") + XCTAssertEqual(up1.state.firstRunPath, [.profile], "cannot advance without a nickname") let up2 = AppModel.update( state: model, @@ -156,7 +156,7 @@ final class Tests_FirstRun: XCTestCase { environment: AppEnvironment() ) - XCTAssertEqual(up2.state.firstRunPath, [.nickname, .sphere], "proceed with valid nickname") + XCTAssertEqual(up2.state.firstRunPath, [.profile, .sphere], "proceed with valid nickname") let up3 = AppModel.update( state: model, @@ -167,33 +167,33 @@ final class Tests_FirstRun: XCTestCase { environment: AppEnvironment() ) - XCTAssertEqual(up3.state.firstRunPath, [.nickname], "cannot proceed with invalid nickname") + XCTAssertEqual(up3.state.firstRunPath, [.profile], "cannot proceed with invalid nickname") } func testFirstRunSphereStep() throws { - let model = AppModel(firstRunPath: [.nickname, .sphere]) + let model = AppModel(firstRunPath: [.profile, .sphere]) let up1 = AppModel.update( state: model, action: .submitFirstRunSphereStep, environment: AppEnvironment() ) - XCTAssertEqual(up1.state.firstRunPath, [.nickname, .sphere, .recovery], "proceed to recovery") + XCTAssertEqual(up1.state.firstRunPath, [.profile, .sphere, .recovery], "proceed to recovery") } func testFirstRunRecoveryStep() throws { - let model = AppModel(firstRunPath: [.nickname, .sphere, .recovery]) + let model = AppModel(firstRunPath: [.profile, .sphere, .recovery]) let up1 = AppModel.update( state: model, action: .submitFirstRunRecoveryStep, environment: AppEnvironment() ) - XCTAssertEqual(up1.state.firstRunPath, [.nickname, .sphere, .recovery, .connect], "proceed to connect") + XCTAssertEqual(up1.state.firstRunPath, [.profile, .sphere, .recovery, .connect], "proceed to connect") } func testFirstRunConnectStep() throws { - let model = AppModel(firstRunPath: [.nickname, .sphere, .recovery, .connect]) + let model = AppModel(firstRunPath: [.profile, .sphere, .recovery, .connect]) let up1 = AppModel.update( state: model, action: .submitFirstRunDoneStep, From 99ff1be89af60ca0563920bc696530813e45ecef Mon Sep 17 00:00:00 2001 From: Ben Follington <5009316+bfollington@users.noreply.github.com> Date: Fri, 30 Jun 2023 09:53:05 +1000 Subject: [PATCH 29/29] Rename .connect -> .done --- xcode/Subconscious/Shared/Components/AppView.swift | 4 ++-- .../Shared/Components/FirstRun/FirstRunView.swift | 2 +- xcode/Subconscious/SubconsciousTests/Tests_FirstRun.swift | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/xcode/Subconscious/Shared/Components/AppView.swift b/xcode/Subconscious/Shared/Components/AppView.swift index eddea1c0..444c591f 100644 --- a/xcode/Subconscious/Shared/Components/AppView.swift +++ b/xcode/Subconscious/Shared/Components/AppView.swift @@ -405,7 +405,7 @@ enum FirstRunStep { case profile case sphere case recovery - case connect + case done } // MARK: Model @@ -1387,7 +1387,7 @@ struct AppModel: ModelProtocol { return update( state: state, actions: [ - .pushFirstRunStep(.connect) + .pushFirstRunStep(.done) ], environment: environment ) diff --git a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift index 3a5845f0..b4c6bfef 100644 --- a/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift +++ b/xcode/Subconscious/Shared/Components/FirstRun/FirstRunView.swift @@ -160,7 +160,7 @@ struct FirstRunView: View { FirstRunSphereView(app: app) case .recovery: FirstRunRecoveryView(app: app) - case .connect: + case .done: FirstRunDoneView(app: app) } } diff --git a/xcode/Subconscious/SubconsciousTests/Tests_FirstRun.swift b/xcode/Subconscious/SubconsciousTests/Tests_FirstRun.swift index aeddaeb8..e413d097 100644 --- a/xcode/Subconscious/SubconsciousTests/Tests_FirstRun.swift +++ b/xcode/Subconscious/SubconsciousTests/Tests_FirstRun.swift @@ -189,11 +189,11 @@ final class Tests_FirstRun: XCTestCase { environment: AppEnvironment() ) - XCTAssertEqual(up1.state.firstRunPath, [.profile, .sphere, .recovery, .connect], "proceed to connect") + XCTAssertEqual(up1.state.firstRunPath, [.profile, .sphere, .recovery, .done], "proceed to connect") } func testFirstRunConnectStep() throws { - let model = AppModel(firstRunPath: [.profile, .sphere, .recovery, .connect]) + let model = AppModel(firstRunPath: [.profile, .sphere, .recovery, .done]) let up1 = AppModel.update( state: model, action: .submitFirstRunDoneStep,