CarsonHoffman / office-hours-queue

11 stars 7 forks source link

Students not able to cancel appointment if they log out/log back in again #20

Open lslavice opened 3 years ago

lslavice commented 3 years ago

We're still getting students saying they "can't cancel their appointment", which I thought was bizarre because there's a big ass red button that says "Cancel Appointment". But then, a student (tdotto) wrote this:

I thought I would add something here. I am always logged in on the website, and I can cancel my appointment if I have not reloaded the office hours page after I made the appointment. However, if I reload the page, it does not show a cancel my appointment button, and I can't see that it was me who made a specific appointment (like what [OTHER STUDENT] shared), even if I am still logged in. I was wondering if there is something I am doing wrong or if others have the same problem (even if they are logged in).

Maybe this is part of why they're having trouble cancelling appointments?

CarsonHoffman commented 3 years ago

I believe that this issue stems from a quirk of Vue's reactivity system where properties that start as undefined are not reactive, leading to a race condition in the various API calls that combine to form the appointments view. I've deployed a fix in 967a560, though I haven't been able to reproduce this issue on my end, so I am not confident that this will solve the issue outright (though I know this definitely was something that needed to be fixed either way); please let me know if you continue to have reports of this issue.

lslavice commented 3 years ago

thanks so much! Fingers crossed that works!

lslavice commented 3 years ago

Students are still posting on Piazza that they are unable to cancel their appointments:

Hi! I scheduled an appointment for office hours tomorrow at 12:00 but I figured out the issue I was having. I went back to cancel my appointment but the cancel button isn't showing up anymore. It shows right after I make an appointment but if I close the tab and come back later to cancel, it won't let me anymore. Please let me know if there's another way to cancel the appointment!

(FYI, I think they sent this in the wee hours of the morning, so "tomorrow" means "today, Tuesday, April 6")

lslavice commented 3 years ago

More context: a lot of them are signing up for slots as soon as the queue resets at midnight, then they keep working on the project, they figure out what was wrong, and then want to cancel their signup for the next day. In general, this is not good OH appt etiquette. Are we the only ones that use the appt slots? If so, is it possible to have the appts open at 7am each day instead of midnight? So that we avoid the late night panic?

CarsonHoffman commented 3 years ago

As a first try, I'd have them refresh the page a few times (rather than close and re-open); I've observed that the latter doesn't force a cache flush in at least a few browsers (so they might still be getting the version of the page before the fix was applied). I'm not sure that changing the appointments structure is immediately feasible—there are a few other courses using appointments (183, 280, and an ENGR 100 section use them to some extent), and that type of generalization would have to be a fairly large re-factoring of appointment handling logic; this could definitely be something to tackle going forward, but I don't think that it'd be something that goes in in the next few weeks before the end of the year.

lslavice commented 3 years ago

Totally fair! And we're almost at the end of the semester, so we'll clearly survive. :) It's super interesting watching it all, just from a "human behavior and the weird things we do" standpoint. I'll send an announcement out about refreshing the page. Thanks so much!

lslavice commented 3 years ago

btw, students still had trouble with cancelling appointments. We're done with office hours for the semester, but I wanted to loop back and let you know.