wesochuck
(Wes Osborn)
22 يوليو 2020، 6:15م
1
خطوات التكرار:
أعجبك منشورًا من مستخدم آخر
استحوذ على ذلك المنشور
ستظهر لك زران للإعجاب ولن تتمكن من إلغاء الإعجاب بالمنشور
أظن أن المنطق الذي يمنعك من الإعجاب بمنشوراتك الخاصة يبدأ العمل عند نقل الملكية، ولهذا السبب لا يمكنك إلغاء الإعجاب بالمنشور بصفتك المالك الجديد.
6 إعجابات
blake
(Blake Erickson)
14 أغسطس 2020، 11:45م
3
لقد أنشأت طلب سحب (PR) لمعالجة هذه المشكلة:
master ← remove-new-post-owner-self-likes
merged 03:21PM - 19 Aug 20 UTC
If a user has liked a post that has passed the
`post_undo_action_window_mins` s… ystem setting window and you transfer ownership
of that post to that user you will be the owner of a post that you have
liked, but cannot unlike resulting in a weird UI behavior. This commit
fixes this issue.
The existing tests didn't check for the timeout window for unliking
posts so I added that in.
I couldn't find a good way to do this logic inside of the guardian class
so rather than duplicating behavior of the `PostActionDestroyer` class
inside of the `PostOwnerChanger` I decided to pass in a "bypass"
variable that could be used to check if the calling class is the
'post_owner_changer' and bypass the guardian instead. I went this route
because the guardian `can_delete_post_action` method has no way of
distinguishing how to allow a user to be able to unlike their own posts
after the timeout window but only on a post owner change.
ما توصلت إليه هو أن نقل الملكية يعمل بشكل جيد في إزالة الإعجابات إذا لم يكن قد انتهى بعد نافذة زمنية “إلغاء الإعجاب”، ولكن إذا انتهت هذه النافذة، كما في المنشور القديم، فهذا هو السبب في عدم إزالة الإعجابات، حيث يفشل في اجتياز فحص الحارس المتعلق بالقدرة على إلغاء الإعجاب بمنشوراتك الخاصة.
إعجابَين (2)