Page MenuHomePhabricator

Edits to the page sent as a message before a mass message job finishes causes content sent to also change
Open, MediumPublicBUG REPORT

Description

I sent a MassMessage using Version#1 of a translated page, then after sending I waited a few seconds, then edited that page and marked it for translation (intended to reuse it in future months), but MassMessage delivered Version1 to some destinations, and Version2 to other destinations. This resulted in some confusion.

List of steps to reproduce (step by step, including full links if applicable):

What happens?:

  • The page message content comes from Version2 after the edit to the page being sent.

What should have happened instead?:

  • The content sent in the mass message should not change from the one in Version1

Event Timeline

The content is fetched dynamically at the time of delivery. The content is not stored at the time of initiating the delivery, as the content could be very large and it is not reasonable to store that in the job queue.

Dreamy_Jazz subscribed.

The method to post could reference a revision ID instead of the page. This is better as when "previewing" the page using Special:MassMessage the content shown there should the content sent to everyone. This means that using the revision ID instead of just the page title would allow the "preview" to actually be what is sent out to everyone. This also means that associated logs can store the revision ID of the page being sent as this is currently not stored (task for that is T323146).

Dreamy_Jazz renamed this task from MassMessage does not send a static revision to a large target list to Edits to the page sent as a message before a mass message job finishes causes content sent to also change.Dec 18 2022, 10:48 PM
Dreamy_Jazz updated the task description. (Show Details)

This becomes a problem if the page to be sent as a message changes in any way. The risk of this happening increases if:

  • Any of the MassMessage jobs associated with the sent mass message are delayed
  • The page being sent as a message is intended to be left as is, but vandalism is a possibility
  • The page being sent as a message is changed after submission for the next message to be sent

It's a never-ending goal ... time-dependent magic words, templates, translation may be added any time. It's not feasible to lock everything down at the time of sending, other than generating the content at that time, which can be too big for the job queue.

In addition T323146: MassMessage logs should use permalink for the target list should not be a parent task, since target list is a different thing from the content being send.