Elena found this in T280307#7473617. When an user submits the away dialog from mentor tools:
a JavaScript error happens, as the API response does not contain the timestamp when the mentor will be back:
Uncaught TypeError: Cannot read properties of undefined (reading 'human') at MentorTools.onMentorBackTimestampChanged at AwaySettingsDialog.OO.EventEmitter.emit
This works fine in my local dev setup. I tried adding READ_LATEST to ApiSetMentorStatus::execute (the line where it calls getMentorBackTimestamp), which appears to fix the issue in prod.
However, MentorStatusManager::markMentorAsAway is called right before that, and UserOptionsManager is supposed to update its in-process cache, so READ_LATEST shouldn't be necessary?
I'm not sure why should READ_LATEST be necessary. In theory, it shouldn't be an issue, because ApiSetMentorStatus is a POST API endpoint (so READ_LATEST is appropriate there generally). @Tgr, can you advice please?