Closed SilkDragon closed 2 years ago
thank you for opening an issue. this feature has been requested previously.
I will use this issue to keep track of the progress for this feature.
A feature like this could be implemented with the following packages:
we either create an own lock screen or use the former package for it.
the first package would also allow arbitrary pin codes specific to the app instead of phone auth.
the setting could be located in the advanced settings screen. an Enum scelection list tile could dictate the type of lock (none, password, pin, device) and depending on that other tiles below it could show up or alternatively, a screen shows after selection to input necessary information.
in either case, thought has to be put into how the user would change the password or pin if either of those are selected.
if a tile below allows changing them, then the user must also be prompted to enter an initial password or pin.
instead of including "none" as an option in the menu, the listtile could have a trailing switch.
does changing the password or pin prompt the user to authenticate? does turning them off prompt to authenticate?
if an undesirable actor is already inside of the app while it is unlocked, it might already be too late and not matter whether turning off authentication is guarded by authentication itself.
if the user has enabled a lock screen, it might make sense to also enable the app switcher protection, meaning, instead of the last frame of the app, it displays a blank screen in the switcher.
this would prevent awkward situations.
if a user has locked the app and has forgotten how to authenticate, this means losing all user data, as accessing the app again would require them to reset their data. this is not a big deal if the user does not have any local only data (for exmaple followed tags or the history) but if they do not have a backup of said data, it will be lost in this case.
if we were really fancy, we would allow the user to reset their auth by havin the app send an email to their email.
this would only work with logged in users, as only then an email is available. such a feature would require sending emails however. that seems like a non-trivial task.
this has now been fully implemented with the flutter_screen_lock
package,
after making a couple of improvement PRs there.
the lockscreen will be in the next update.
It would be nice to have the app lock when your phone comes out of sleep or when you switch apps, and then unlock it with a fingerprint or face ID