Page MenuHomePhabricator

For donor prefs pages, offer to send a new link when checksum is expired
Open, Needs TriagePublic

Description

When a donor follows a link with an expired checksum, offer to send them a new link via email.

Will need to update the API calls to specify expired checksum errors and not just empty responses.

Event Timeline

@Ejegg is this relevant to the current recurring upgrade work? - let me know if we should bring this in to Sprint E

@AKanji-WMF it would be nice, but maybe next sprint. The checksums shouldn't expire for 30 days, so this feature can wait a little bit

next recurring upgrade campaign is February 2025

Change #1073470 had a related patch set uploaded (by Ejegg; author: Ejegg):

[wikimedia/fundraising/crm@master] Special return for valid but expired prefs link

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

This is newly urgent because we're moving to the Email Prefs page for unsubscribe links. Note we will also have to detect when the contact ID on the prefs link has been merged into another contact.

Current thought: single API action on the Mediawiki side to ask for a new checksum link, with a link type enum (LINK_RECUR_UPGRADE/LINK_DONOR_PREFERENCES), optional subpage, and the contact ID.

I toyed with the idea of just accepting the old link and simply replacing the checksum parameter, but that would require parsing and validation to make sure we're only sending out links to the proper domain and only with reasonable querystring parameters. We can probably assume the number of people who are requesting a new link is small enough that we don't need to preserve tracking params like wmf_campaign.

Change #1015406 had a related patch set uploaded (by Ejegg; author: Ejegg):

[mediawiki/extensions/DonationInterface@master] API to request new link to RecurUpgrade or EmailPreferences

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

Change #1087562 had a related patch set uploaded (by Ejegg; author: Ejegg):

[mediawiki/extensions/DonationInterface@master] WIP new checksum link JS and template

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

Change #1015406 merged by jenkins-bot:

[mediawiki/extensions/DonationInterface@master] API to request new link to RecurUpgrade or EmailPreferences

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

Change #1087562 merged by jenkins-bot:

[mediawiki/extensions/DonationInterface@master] Client side for requesting new checksum links

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

Change #1094542 had a related patch set uploaded (by Ejegg; author: Ejegg):

[wikimedia/fundraising/crm@master] Message template for new checksum link

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

Change #1094543 had a related patch set uploaded (by Ejegg; author: Ejegg):

[wikimedia/fundraising/crm@master] Queue consumer for new checksum link

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

Change #1094542 merged by jenkins-bot:

[wikimedia/fundraising/crm@master] Message template for new checksum link

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