Author: Nx.devnull
Description:
Here are the steps to reproduce this bug, bear with me:
- Disable javascript
- Open a talk page in two tabs in your browser.
- Click "reply" on the same comment in both tabs
- Type something in both tabs
- In one tab, click save page, wait for the comment to be saved. Make sure you bump the thread.
- In the other tab, click show preview.
After this, the thread you were replying to will not be shown (including the edit form), which means you just lost your comment.
I've tracked down the bug to LqtDiscussionPager::getRows(). The problem is that this function calls a mysql query that selects all root threads where thread_sortkey<offset, where offset is the timestamp of the latest comment when you clicked reply. However, since the thread has since been bumped, the root comment now has a sortkey larger than this timestamp, so it won't be selected.
Version: unspecified
Severity: major