-
Notifications
You must be signed in to change notification settings - Fork 79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Onboarding] Create new Onboarding NIM backend #16832
Comments
@caybro would the new backend need to handle the navigation like the old one or it's all handled by the front-end now? |
Completely handled by the frontend stack now (navigation, sequence, transitions from page to page, etc). My further thoughts: I could start sketching the proposed new |
@igor-sirotin and I checked this issue real quick and realized that there are missing functions in the mock, like Is this because the UI changes are still WIP? @caybro |
"Login" in the sense of logging in with an already created account is not handled here in the onboarding (cf "Login" in these onboarding flows rather refers to "restoring an account"). See the "Log in with an existing profile" section in the Figma here: https://www.figma.com/design/Lw4nPYQcZOPOwTgETiiIYo/Desktop-Onboarding-Redesign?node-id=788-34574&node-type=instance&m=dev That would be for another epic/issue I guess For actually processing the data collected throughout the onboarding flows, I'm not calling any backend action. When any of the onboarding flows is finished, it merely emits this signal: signal finished(int primaryPath, int secondaryPath, var data) where data: {"password":"0123456789","keycardPin":"","enableBiometrics":true,"syncConnectionString":""} for a "Create Profile" -> "Password" flow |
Proposed OnboardingStore (WIP): QtObject {
readonly property QtObject d: StatusQUtils.QObject {
id: d
readonly property var onboardingModuleInst: onboardingModule
}
// keycard
readonly property int keycardState: d.onboardingModuleInst.keycardState // cf. enum Onboarding.KeycardState
readonly property int keycardRemainingPinAttempts: d.onboardingModuleInst.keycardRemainingPinAttempts
function setPin(pin: string) { // -> bool
return d.onboardingModuleInst.setPin(pin)
}
readonly property int addKeyPairState: d.onboardingModuleInst.addKeyPairState // cf. enum Onboarding.AddKeyPairState
function startKeypairTransfer() { // -> void
d.onboardingModuleInst.startKeypairTransfer()
}
// password
function getPasswordStrengthScore(password: string) { // -> int
return d.onboardingModuleInst.getPasswordStrengthScore(password)
}
// seedphrase/mnemonic
function validMnemonic(mnemonic: string) { // -> bool
return d.onboardingModuleInst.validMnemonic(mnemonic)
}
function getMnemonic() { // -> string
return d.onboardingModuleInst.mnemonic()
}
function mnemonicWasShown() { // -> void
d.onboardingModuleInst.mnemonicWasShown()
}
function removeMnemonic() { // -> void
d.onboardingModuleInst.removeMnemonic()
}
// sync
readonly property int syncState: d.onboardingModuleInst.syncState // cf. enum Onboarding.SyncState
function validateLocalPairingConnectionString(connectionString: string) { // -> bool
return d.onboardingModuleInst.validateLocalPairingConnectionString(connectionString)
}
function inputConnectionStringForBootstrapping(connectionString: string) { // -> void
d.onboardingModuleInst.inputConnectionStringForBootstrapping(connectionString)
}
} |
Part of #16832 Adds the basic files needed for the new onboarding, aka onboarding V2. It does not do anything yet, but it's ready to be implemented. It is locked behind a feature flag. To enable it, run the app with `export FLAG_ONBOARDING_V2_ENABLED=1`
Part of #16832 Adds the basic files needed for the new onboarding, aka onboarding V2. It does not do anything yet, but it's ready to be implemented. It is locked behind a feature flag. To enable it, run the app with `export FLAG_ONBOARDING_V2_ENABLED=1`
Part of #16832 Adds the basic files needed for the new onboarding, aka onboarding V2. It does not do anything yet, but it's ready to be implemented. It is locked behind a feature flag. To enable it, run the app with `export FLAG_ONBOARDING_V2_ENABLED=1`
Part of #16832 Adds the basic files needed for the new onboarding, aka onboarding V2. It does not do anything yet, but it's ready to be implemented. It is locked behind a feature flag. To enable it, run the app with `export FLAG_ONBOARDING_V2_ENABLED=1`
Part of #16832 Adds the basic files needed for the new onboarding, aka onboarding V2. It does not do anything yet, but it's ready to be implemented. It is locked behind a feature flag. To enable it, run the app with `export FLAG_ONBOARDING_V2_ENABLED=1`
Fixes #16832 Implements all the needed basic Nim functions for the new onboarding. They do no do anything just yet. They shall be integrated in another commit.
Fixes #16832 Implements all the needed basic Nim functions for the new onboarding. They do no do anything just yet. They shall be integrated in another commit.
Description
For the new onboarding redesign/rework (#16712), there is a need for a new matching backend.
Currently, the QML UI uses a mocked backend, modeled after existing
StartupStore
andPrivacyStore
:This gives us an idea of the functions that need to be implemented. Ideally, these would live in a new store (e.g.
OnboardingStore
) which would encapsulate the new backend.Acceptance Criteria
The text was updated successfully, but these errors were encountered: