PDA

View Full Version : [SITE] Ignore + (Friend/follow) = Ugly



skylerbunny
10-28-2012, 06:15 PM
I can make Weasyl produce Internal server errors, through the use of the 'Ignore' button. Here's how.

(Use cases follow. Skip italics for explanation.)

Suppose you have a user that you are following and are friends with currently.
1. Click 'Ignore'. Both the 'Follow' and 'Friends' buttons gray out. Presumably this means 'You are no longer friends', and 'You are no longer following this user,' by taking the action of ignoring them.
2. Click 'Follow'. You get an internal server error. HOWEVER, if you refresh the person's profile page, you will see that they are both followed and ignored.
(I did not check the case of what happens if I hit 'Friend' here, because it's an edge case and the other person isn't there right now.)

Or...
Suppose you have a user that you are following and have a pending friend request to.
1. Click 'Ignore'. Both the 'Follow' and 'Pending friend request' buttons gray out. Presumably this means 'Your friend request has been withdrawn', and 'You are no longer following this user,' by taking the action of ignoring them.
2a. Click 'Follow'. You get an internal server error. HOWEVER, if you refresh the person's profile page, you will see that they are both followed and ignored.
2b. Click 'Friend'. You get an internal server error. HOWEVER, if you refresh the person's profile page, you will see that they are both 'Pending friend request' and ignored.

Or...
Suppose you have a user that you are following and have a pending friend request to.
1. Click 'Ignore'. Both the 'Follow' and 'Pending friend request' buttons gray out. Presumably this means 'Your friend request has been withdrawn', and 'You are no longer following this user,' by taking the action of ignoring them.
2. Click 'Ignore' again. All four icons are greyed out. (E.g., maybe you changed your mind and will pay attention to this person, or misclicked.)
3a. Click 'Follow'. You get an internal server error. HOWEVER, if you refresh the person's profile page, you will see that they are in fact followed.
3b. Click 'Friend'. You get an internal server error. HOWEVER, if you refresh the person's profile page, you will see that the user does have 'Pending friend request'.

The point of all of this is, there seems to be an inconsistency with what 'Ignore' hints that it's doing, versus what actually happens when clicked or unclicked. Ignore appears to unfollow and de-friend (or cancel a friend request), but, clicking around after this suggests:

* It shouldn't be possible to friend request or follow someone that you've ignored, but it is
* After ignoring someone you have friended, friend requested, or followed, then try friend or follow again, you get an internal server error (though it ultimately works), suggesting that the earlier ignore has 'wedged' something in the code (so that a follow or friend request doesn't go through cleanly). This is true whether or not the user is currently ignored, or whether you've since un-ignored them.