Page MenuHomePhabricator

Setup cross-wiki notifications in MediaWiki-Vagrant
Closed, ResolvedPublic

Description

Spec (started by @Mooeypoo):

  • Enable cross-wiki notifications
  • Have Puppet create the tracking table.
  • More than 2 wikis (so, 3 at least) so we can verify that bundles work from multiple wikis and not just from 1 remote wiki.
  • To allow testing all of F2969695 (depending on what the current unread are), different languages of the same project (French Wikipedia, Hebrew Wikipedia), different projects in the same language (French Wikipedia and French Wiktionary), and an outlier (Chinese Wikivoyage).
  • We'll need Flow, Thanks and Echo (of course) to be active in all of them. Flow and Thanks would be useful as base extensions to give cross-wiki notifications, but I guess they're not absolutely a must if we have other notification-producing extensions in there.
  • Ideally, we should control the languages of those wikis (though I think that's a given in Vagrant?) For me, it would be awesome if one of those wikis was non-Latin and/or RTL for testing, or, at least, if we could relatively easily change its language/directionality for occasional testing.
  • For browser testing, it would also be great if we could have all of the wikis initialize with "Selenium user a" and "Selenium user b" so we can test both local and remote notifications with browser tests automatically. (Though this point is probably not that urgent to have, and we can always add those manually when/if we decide to run cross-wiki proper browser tests)

Event Timeline

Mattflaschen-WMF raised the priority of this task from to Needs Triage.
Mattflaschen-WMF updated the task description. (Show Details)
Restricted Application added subscribers: StudiesWorld, Aklapper. · View Herald Transcript
Mattflaschen-WMF set Security to None.

This was discussed again today on IRC as being useful and kind of a blocker.

As for what would be useful for testing, the ideal, I think would be:

  • More than 2 wikis (so, 3 at least) so we can verify that bundles work from multiple wikis and not just from 1 remote wiki.
  • We'll need Flow, Thanks and Echo (of course) to be active in all of them. Flow and Thanks would be useful as base extensions to give cross-wiki notifications, but I guess they're not absolutely a must if we have other notification-producing extensions in there.
  • Ideally, we should control the languages of those wikis (though I think that's a given in Vagrant?) For me, it would be awesome if one of those wikis was non-Latin and/or RTL for testing, or, at least, if we could relatively easily change its language/directionality for occasional testing.
  • For browser testing, it would also be great if we could have all of the wikis initialize with "Selenium user a" and "Selenium user b" so we can test both local and remote notifications with browser tests automatically. (Though this point is probably not that urgent to have, and we can always add those manually when/if we decide to run cross-wiki proper browser tests)

At the very minimum, having 3 wikis should be enough. The above points are good extras if they don't take too much time to set up.

Also, I believe all three wikis must have some unified login (CentralAuth?) to work as cross-wiki notifications for the same user.

Change 260713 had a related patch set uploaded (by Mattflaschen):
WIP: Cross-wiki notification support

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

I'm changing it to French because Zero is already using Spanish.

For browser testing, it would also be great if we could have all of the wikis initialize with "Selenium user a" and "Selenium user b" so we can test both local and remote notifications with browser tests automatically. (Though this point is probably not that urgent to have, and we can always add those manually when/if we decide to run cross-wiki proper browser tests)

The existing 'Selenium user' should be available everywhere already through CentralAuth (the patch has Echo depend on CA), but doesn't work yet. I'm looking into that now.

I'll also make a couple of global Echo users, and make the existing Flow users also global.

I can't reproduce the issue I was saying with pre-defined CentralAuth users not working.

It might have been fixed by another fix I made.

There is still an issue I'm seeing with certain users showing up repeatedly on re-provision. I'll see if I can fix the issue.

Change 260713 merged by jenkins-bot:
Cross-wiki notification support

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

The image looks a bit weird to me; there should not be <tt> tags or {{FlowMention|...}} renders in the description or text.

This might be a bug in the way we do the parsing, or the way Vagrant works with the parser? Not sure if this happens in production sans-Vagrant?

As far as I can tell, this particular ticket is satisfied. @Mooeypoo , @Etonkovidova, do you need to open a separate bug for the tt tag?

Or am I misunderstanding and the tag is actually pertinent to the testing?

The only thing I want to make sure in this case is whether this is a general bug or a vagrant specific bug. If it's a Vagrant-specific bug then something potentially went wrong with implementing x-wiki in Vagrant (in which case this ticket isn't closed yet) -- but if it's happening in general, then it should be a separate bug.

Pinging @Catrope on this one. I'm not sure how things work with the parsing, and I believe new work is being implemented too due to a separate mention bug?

The image looks a bit weird to me; there should not be <tt> tags or {{FlowMention|...}} renders in the description or text.

It looks like those might be from a topic title. We do not parse that in topic title (deliberately, it is the same as the edit summary parser normal pages use).

@Etonkovidova is that correct (<tt> and {{FlowMention}} were your testing input into the topic title field)?