The "Mentor is away" functionality was created as part of the initial Mentor dashboard (T280307), which was done before we had a sign up page and more importantly, GrowthMentors.json as the central mentor storage (T264343). For this reason, the mentor's status is stored in the growthexperiments-mentor-away-timestamp user property, instead of the central JSON file.
This is both confusing and unintuitive technically-speaking. It also forces us to open a non-standard way for admins to edit preferences of other users (Special:ManageMentors). We should migrate the mentor status to GrowthMentors.json.
Checklist
- (1) Ensure the mentor list API writes the data to GrowthMentors.json, in addition to changing the user preference, but keeps the user preference as the primary source.
- (2) Write and merge a maintenance script, which would migrate data from user properties into GrowthMentors.json (affects users that did not alter their mentor preferences manually).
- (3) Write & review (but don't merge) a change that changes the primary source from user preference to GrowthMentors.json
- (4) Run the maintenance script from step 2; merge & backport the change from step 3.