laravel-acquaintances
laravel-acquaintances copied to clipboard
If the first friendship request is denied, then unlimited duplicate entries can appear in the friendship table
To recreate: Add a friend and then deny that friend request.
Re-add that friend multiple times and you will see multiple entries in the friendship table like this:

Cause:
This is because \Multicaret\Acquaintances\Traits\Friendable::getFriendship()
returns the first() match which will always be the entry with status == 'denied'
which means \Multicaret\Acquaintances\Traits\Friendable::canBefriend()
will always return true
Potential Fix:
In \Multicaret\Acquaintances\Traits\Friendable::getFriendship()
add an ->orderBy('created_at' , 'desc')
(or updated_at) to get the most recent entry
Or if the intention is to have no duplicate entries in the friendship table then will need to change \Multicaret\Acquaintances\Traits\Friendable::befriend()
to an upsert
This was my initial observation while using this package. I am overcoming this by deleting the friend request when the request is denied.
@spinalwiz Could you please send a PR? If this is a bug, someone else will probably have it else well.
This was my initial observation while using this package. I am overcoming this by deleting the friend request when the request is denied.
What method are you using to delete the requests?