AllanWang / Frost-for-Facebook

An extensive and functional third party app for Facebook
https://allanwang.github.io/Frost-for-Facebook/
GNU General Public License v3.0
1.09k stars 85 forks source link

Friends unfriended without prompt in "Show all friends" activity. #1736

Open StevanWhite opened 3 years ago

StevanWhite commented 3 years ago

Describe the bug A clear and concise description of what the bug is.

In the activity "Show all friends", under the "Friends" button, there is a menu with items "Show friends list" "Unfriend" It is much too easy to select "unfriend". A slip of the finger immediately, without double-checking, unfriends the person.

This is a quite bad UI design bug.

To Reproduce Steps to reproduce the behaviour:

  1. Go to '...' Personal web page -> Show all friends list
  2. Click on '....' Button Friends, next to a friend's name.
  3. Scroll down to '....' Unfriend
  4. See error Your friend is unfriended lickety-split, no muss, no fuss, no questions asked. Now you have to send your friend a re-friend request. How embarrassing! This is a bug, causing annoyance for two users each time it happens.

Details (please provide at least the app version):

creativetrendsapps commented 3 years ago

You do realize this is a "bad ui bug" on the part of Facebook, right? Frost is showing the friends section on the touch.facebook.com site.

StevanWhite commented 3 years ago

Hi,

The problem is very bad. It is the worst problem I have experienced with your app.

I am 100% confident that this would not daunt a good programmer. Of course, if just displaying the raw HTM causes the problem, don't display the site as-is.

It must not be the case that a single click in your app deletes FB friends without warning.

Thanks!

AllanWang commented 3 years ago

While it might be possible to intercept those events and add a confirmation dialog (not sure if you can delay events in JS but it sounds reasonable), it isn't a very high priority task now.

Not displaying the site as-is is easier said than done. Modifying the website has no guaranteed consistency, and I can't write unit tests with a fake account or it'll probably get banned. If someone knows how to hold an old click event and reroute it with a dialog they can link it here, but otherwise this will be working as intended.

creativetrendsapps commented 3 years ago

While it might be possible to intercept those events and add a confirmation dialog (not sure if you can delay events in JS but it sounds reasonable), it isn't a very high priority task now.

Not displaying the site as-is is easier said than done. Modifying the website has no guaranteed consistency, and I can't write unit tests with a fake account or it'll probably get banned. If someone knows how to hold an old click event and reroute it with a dialog they can link it here, but otherwise this will be working as intended.

Would it be possible to use a javascript alert?

AllanWang commented 3 years ago

While it might be possible to intercept those events and add a confirmation dialog (not sure if you can delay events in JS but it sounds reasonable), it isn't a very high priority task now. Not displaying the site as-is is easier said than done. Modifying the website has no guaranteed consistency, and I can't write unit tests with a fake account or it'll probably get banned. If someone knows how to hold an old click event and reroute it with a dialog they can link it here, but otherwise this will be working as intended.

Would it be possible to use a javascript alert?

It should be a confirmation dialog. Alerts aren't meant to be cancelable. But the problem is how I'm supposed to retain the event for confirmation use. Typically we use prevent default and make our own event but I need the original listener here.

creativetrendsapps commented 3 years ago

🤔 I don't know about this. Most Facebook errors can be overridden by an alert dialog. YOU shouldn't have to save the event though... it's a Facebook error.

AllanWang commented 3 years ago

This isn't an error though. It's delaying a valid flow with a dialog in between. I don't know how to launch an error and them propagate the existing event. It's not something I've ever needed since I'd have the original function as a developer. It sounds reasonable though but I haven't looked into it.

StevanWhite commented 3 years ago

It's your app, of course.

Please keep in mind that one faithful user was very horrified by its behaviour, and took the time to alert you. This was very annoying to me, and I trust you will address the issue soon.

Then there's the general principle, that only a tiny fraction of users who see problems take the time.

On Wed, Jan 6, 2021 at 1:15 AM Allan Wang notifications@github.com wrote:

While it might be possible to intercept those events and add a confirmation dialog (not sure if you can delay events in JS but it sounds reasonable), it isn't a very high priority task now.

Not displaying the site as-is is easier said than done. Modifying the website has no guaranteed consistency, and I can't write unit tests with a fake account or it'll probably get banned. If someone knows how to hold an old click event and reroute it with a dialog they can link it here, but otherwise this will be working as intended.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/AllanWang/Frost-for-Facebook/issues/1736#issuecomment-754979186, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAMA3OMXOLJPWLITAYR5WSDSYOTSHANCNFSM4VNA4VJQ .