Page MenuHomePhabricator

Show preview without javascript results in thread and edit form not showing if it has been bumped since you clicked reply
Open, LowestPublic

Description

Author: Nx.devnull

Description:
Here are the steps to reproduce this bug, bear with me:

  1. Disable javascript
  2. Open a talk page in two tabs in your browser.
  3. Click "reply" on the same comment in both tabs
  4. Type something in both tabs
  5. In one tab, click save page, wait for the comment to be saved. Make sure you bump the thread.
  6. 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

Details

Reference
bz26743

Event Timeline

bzimport raised the priority of this task from to Normal.Nov 21 2014, 11:23 PM
bzimport set Reference to bz26743.
bzimport added a subscriber: Unknown Object (MLST).

Nx.devnull wrote:

This also causes threads to disappear when you click on a link in Recent Changes if the thread has been bumped since you loaded Recent Changes, because the links in RC also have an offset parameter.

Jorm removed a subscriber: Jorm.Dec 26 2015, 7:28 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptDec 26 2015, 7:28 PM
Jdforrester-WMF lowered the priority of this task from Normal to Lowest.Aug 4 2016, 11:35 PM
Jdforrester-WMF added a subscriber: Jdforrester-WMF.

LiquidThreads has been replaced by StructuredDiscussions on all Wikimedia production wikis (except one, which will be done soon). It is no longer under active development or maintenance, so I'm re-classifying all open LQT tasks as "Lowest" priority.