gurk-rs
gurk-rs copied to clipboard
Rework on-boarding
The on-boarding of new users is not smooth enough. Some problems:
- Config file needs to be created manually.
- Config file contains the phone number even though it is only needed when linking the client for the first time #360.
- Settings passphrase in the config file is confusing and is a security risk.
Bunch of ideas how we can improve it:
- On the first run (when there is no data yet), have a CLI wizard asking for the phone number, whether the db should be encrypted and and for the passphrase, and whether the passphrase should be stored in keychain/libsecret/somewhere else if possible. This wizard could be also a CLI form, but I think this is not needed since onboarding is done only once.
- Provide a user flow to decrypt/encrypt the data again. Again via CLI wizard?
- Add phone number CLI parameter. This removes the step in all wizards of providing the phone number.
- During on-boarding show the paths to the configuration/data.
for the cli wizardry, I know a pretty neat library: dialoguer.
it's quite lightweight, very stable and UX is awesome
adoptation should be considered
Just for the record: phone number is not required at all to run the app.
Onboarding is implemented in #391 (starts when there is no config found). Encryption is mandatory now #389.