Fixed Approval Queue: In Firefox, the radio button selection is transferred over to other queue items after saving

Steffen

Well-known member
Affected version
2.3.3
This seems totally odd but we've reproduced it on 3 Firefox installations (one with a fresh profile):

1. Open Firefox (tested with Firefox 129 and 130)
2. As an admin/moderator, go to the Approval queue page of your forum
3. Ensure that there are at least 2 posts that need approval
4. For the first post, select the "Approve" radio button
5. Click the "Save" button

What should happen: After saving, the page should show the remaining posts that need approval and all posts should have their "Do nothing" radio button selected.

What actually happens: After saving, the page shows the remaining posts but for the first post the "Approve" radio button is pre-selected automatically.

This issue only exists in Firefox, not in Chrome. It is actually more general than described above: If you select the "Approve" radio button of the n-th item then after saving the "Approve" radio button of the n-th item will be selected automatically. Furthermore, it doesn't only work with "Approve" but with "Delete", too. So this issue can lead to moderators accidentally approving and deleting posts.
 
After some more digging: In the file "js/xf/core.js", two occurences of location.reload(true) were changed to location.reload() in XenForo 2.3. This is what triggers this bug.

(This could still be a Firefox bug. Firefox obviously tries to retain form data when calling location.reload() even though in this case the form element names do not even match. Somewhat related: https://bugzilla.mozilla.org/show_bug.cgi?id=1037721)
 
Thank you for reporting this issue, it has now been resolved. We are aiming to include any changes that have been made in a future XF release (2.3.4).

Change log:
Attempt to work-around abysmal Firefox form field retention heuristics
There may be a delay before changes are rolled out to the XenForo Community.
 
Back
Top Bottom