Users can only view latest received reactions in some cases

Kirby

Well-known member
Affected version
2.2.12
Steps to reprodue
  1. Create 25 posts with a fresh account
  2. Give a like reaction to each of those posts created in step 1) with another account
  3. Move post # 21 that was created in step 1) to a thread which can't be accesed by the user account used for step 1)
  4. Access route account/reactions with the account used for step 1)
Expected Result
Reactions # 25 to # 6 are being shown (eg. including the reaction for post # 21 is being shown, but probably without a link to the inaccessible post) and a button Next to load the remaining reactions (# 5 to # 1 is displayed)
OR
Reactions # 25 to # 5 are being shown (eg. reaction for post # 21 is not being shown) and a button Next to load the remaining reactions (# 4 to # 1) is displayed

Actual Result
Reactions # 25 to #5 are being shown (eg. reaction for post # 21 is not being shown) but no button Next is displayed
Manually accessing page 2 displays reactions # 5 to # 1

So effecively this bug causes users to only be able to view reactions until they hit a "page" that contains at least one inaccessible content - if they do it is not possible to move on to the next page.

The reason for this is that the algorith used in XF\Pub\Controller\Account::actionReactions doesn't work at all due to accessibility checks.
IMHO this needs to be redone using an entirely different approach (probaby based on offsets rather than page numbers).
 
Top Bottom