Page MenuHomePhabricator

Flow events not showing up in my watchlist
Closed, ResolvedPublic

Description

Observed on http://ee-flow.wmflabs.org/wiki/Special:Watchlist

I can see Flow events in recent changes just fine, but they don't show up in my watchlist, even though I'm watching Flow-enabled pages :(


Version: master
Severity: normal

Details

Reference
bz55597

Event Timeline

bzimport raised the priority of this task from to Needs Triage.Nov 22 2014, 2:26 AM
bzimport set Reference to bz55597.
bzimport added a subscriber: Unknown Object (MLST).

Looked through this one, it requires another core change to fix. That change can be found in gerrit as 90051 . Its a fairly simple and unobtrusive fix.

Change 92427 had a related patch set uploaded by EBernhardson:
Show flow events in watchlist

https://gerrit.wikimedia.org/r/92427

Change 92427 merged by jenkins-bot:
Show flow events in watchlist

https://gerrit.wikimedia.org/r/92427

This still isn't working on ee-flow. Watch any Flow-enabled page; you won't see changes to it in your watchlist.

Probably related: Flow actions also don't show up in my contributions.

Change 96578 had a related patch set uploaded by EBernhardson:
Hook expects old RC_* value for watchlist

https://gerrit.wikimedia.org/r/96578

Special:Contributions is actually completely independant, it needs implementation of the ContribsPager::reallyDoQuery hook

Change 96578 merged by jenkins-bot:
Hook expects old RC_* value for watchlist

https://gerrit.wikimedia.org/r/96578

seems to work on ee-flow but not on mediawiki.org, will have to investigate more.

Change 104781 had a related patch set uploaded by EBernhardson:
Allow page_namespace IS NULL in watchlist query

https://gerrit.wikimedia.org/r/104781

Change 104781 merged by jenkins-bot:
Allow page_namespace IS NULL in watchlist query

https://gerrit.wikimedia.org/r/104781

LiquidThreads adds a test to the watchlist query to exclude its Thread namespace:

AND (page_namespace != '90')

But Flow changes don't have a namespace, so this is (NULL != '90') which in the hell of SQL evaluates to NULL not 1, so they were getting excluded too.

For posterity, a production Special:Watchlist query on a Wiki with Flow and LQT (but not Wikibase/Wikidata) looks like:

SELECT rc_id,

      rc_timestamp,
      rc_user,
      rc_user_text,
      rc_namespace,
      rc_title,
      rc_comment,
      rc_minor,
      rc_bot,
      rc_new,
      rc_cur_id,
      rc_this_oldid,
      rc_last_oldid,
      rc_type,
      rc_source,
      rc_patrolled,
      rc_ip,
      rc_old_len,
      rc_new_len,
      rc_deleted,
      rc_logid,
      rc_log_type,
      rc_log_action,
      rc_params,
      wl_notificationtimestamp,
      (
        SELECT  GROUP_CONCAT(ct_tag SEPARATOR ',')
          FROM `change_tag`
          WHERE ct_rc_id=rc_id
      )
AS ts_tags,fp_stable,fp_pending_since
FROM `recentchanges`
      INNER JOIN `watchlist` ON (wl_user = '19998' AND (wl_namespace=rc_namespace) AND (wl_title=rc_title))
      LEFT JOIN `page` ON ((rc_cur_id=page_id))
      LEFT JOIN `flaggedpages` ON ((fp_page_id = rc_cur_id))
WHERE (rc_timestamp > '20131228230259')
  AND ((rc_this_oldid=page_latest) OR rc_type IN ('3','142') )
  AND (page_namespace != '90')
ORDER BY rc_timestamp DESC

Seems fixed in production in 1.23wmf9