freeotp / freeotp-ios

Apache License 2.0
686 stars 172 forks source link

Swipe to remove tokens can be accidentally and easily triggered #165

Open baldover opened 4 years ago

baldover commented 4 years ago

Hi. First thanks for this awesome piece of software it is a delight to use :-). The latest update sure did brought welcomed new features but one major thing that's bothering me though is how easy it is to remove a token. As careless as I am I've unintentionally triggered it few times already, and every time it's an "oh sh*t" moment.

justin-stephenson commented 4 years ago

@baldover Thanks for the feedback, the Action Sheet confirmation was intended to prevent accidental removal but maybe there are still improvements that can be made here.

justin-stephenson commented 4 years ago

@baldover are you referring to iOS or iPad? I see we only have the action sheet confirmation for iOS.

OddHouseGames commented 4 years ago

The message that pops up to say ‘remove token’ could include name of token requesting delete, just for extra confirmation as tiles slide over extremely fast

orev commented 4 years ago

I think here are a few issues here.

justin-stephenson commented 4 years ago

Thank you for your comments @orev, I agree with most of them. I would like to switch the tokens listing(TokensViewController) layout to use a table view controller, instead of a collection view controller. The table view controller provides functionality to enable the swipe gesture behavior you see in standard iOS apps like Mail, Messages, and Notes.

conorpetersen commented 4 years ago

I second this request that the swipe-to-remove interaction be reconsidered. Removing tokens is a very rare interaction, and should be extremely difficult to do accidentally.

It could be something like long-press, then multiple confirmations. At the very least, the swipe sensitivity should be double-checked. It is much more sensitive than similar swipe-to-archive interactions in other programs. An option to undo the deletion should be available as well, rather than just having the entry disappear.

The penalty for accidentally removing a token is possibly-permanent loss of access to the account you're using.

Thanks.