clragon / e1547

A sophisticated e621 browser
https://e1547.clynamic.net/
GNU General Public License v3.0
209 stars 16 forks source link

App lockscreen #69

Closed SilkDragon closed 2 years ago

SilkDragon commented 2 years ago

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

clragon commented 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.

clragon commented 2 years ago

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.

clragon commented 2 years ago

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.

clragon commented 2 years ago

instead of including "none" as an option in the menu, the listtile could have a trailing switch.

clragon commented 2 years ago

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.

clragon commented 2 years ago

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.

clragon commented 2 years ago

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.

clragon commented 2 years ago

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.

clragon commented 2 years ago

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.