Page MenuHomePhabricator

🐛🚨 Membership moderation is broken
Open, Needs TriagePublic1 Estimated Story Points

Description

in the Fundraising backend (FOC / https://backend.wikimedia.de/):

Problem:
A user wants to moderate memberships on the Mitglieder tab.
They want to "unmoderate" a specific membership (74245).

Expected behaviour:

  1. The membership is changing its state to unmoderated and shows it in the frontend.
  2. the detail view can be opened

Actual behaviour:

  1. > When we click on "Freigeben" the screen flickers for a sec but nothing else seems to be happening.
  2. the detail view for each membership can't be opened

Our HTTP endpoint /member/unlock returns a status 500 on the request.


For donations it seems to work.
Our last deployment to prod+test was on 2025-12-02T15-07-28Z.
Priority:

  • unmoderate the affected membership manually

Helpful links / Notes:

Event Timeline

Update:

  1. I deployed the current fundraising-backend main to test and prod. (That didn't fix anything)
  1. I cleared the status of the affected membership manually in our DB (removed moderation reason "AMOUNT TOO HIGH", cleared the status) for now as a quick fix.

This needs further investigation.

created a new membership 74286 to test,
on the day of creation the moderation status was still editable,
24h later (after a backup happened) "unlock" returns the 500 again

I did some investigation,
the error of memberships not being "approvable" at the next day was caused by the following:

in approveMembershipApplication(..) we call the method getUnexportedMembershipApplicationById( $membershipApplicationId ); to retrieve the membership application from the database
BUT ONLY if it was not anonymized already.

The method checks currently whether a backup timestamp is set (which was the case for the failing membership instances).


-> it now needs to be checked what condition should correctly be applied here,
the backup-timestamp should not be taken for that
https://github.com/wmde/fundraising-memberships/pull/306