Hi. A few months ago, the mentoring setup was changed so that if a student doesn’t respond for 30 days, the session times out. Both the mentor and student can still comment after that, but the session remains in a ‘timed out’ limbo state in which the student cannot upload new iterations.
I have had a couple cases where the student did eventually come back and want to continue, with new iterations and everything. The first time that happened we were able to just discuss the code and come to a happy conclusion in the old half-dead session.
In another case I asked the student to find the ‘start a private session’ UI and send me a mentoring request for the same exercise. Today, I came back to that old session to find that they had indeed pasted in a private mentoring request URL. Following that gets me to a page asking whether I want to accept the private session. Following that gets me … right back to the existing, broken-in-limbo, session.
The current instance is this mentoring session:
exercism dot org/mentoring/discussions/abfede3e8b9a4316bf05ee73c56766c1
and this private mentoring request link:
exercism dot org/mentoring/external_requests/72fd54f793594fa79bf9926609f21d26
I imagine these will not be visible to non-staff, but even if they are, there is no harm. (Links are intentionally kneecapped to prevent inclusion of useless previews.)
So I have two somewhat divergent, but related requests here:
-
when the student responds in a timed-out-after-30-days session, please unlimbo it; put it back to a normal state where the student can still upload new iterations
-
do something different in the situation where a mentor clicks to accept a private mentoring request for a tuple of { student, mentor, track, exercise } which is already populated. My preference for what to do differently is a dialog telling me (the responding mentor) that such a mentoring session already exists, offering me choices of (A) open the existing session [ which shall have been rejuvenated as requested above ] or (B) start a new session in which the first code iteration will be the one the student was on at the time they raised the private request.
BTW, choice (A) here should not destroy the private mentoring request, leaving open the possibility that I might later decide (B) is a better option. (A) is what currently happens; except the rejuvenating part.
Also BTW, choosing (B) should hopefully not destroy the previous session, just relegate it to history.
One reason I might want (B) is if the existing session already has a large number of iterations. The mentoring UI gets somewhat cumbersome when there are 10-20 iterations already in play; a clean start could be nice in those cases.