@Kellia
This is me thinking out loud. I don't use the late penalty, so others might come up with something.
Without some additional programming, there's not a quick way to do that.
- You can use the breadcrumb to click on the assignment name (1 click), then open it in SpeedGrader (2 clicks), then find the student (a bunch of clicks), and then change the status. Loading SpeedGrader has a LOT of overhead network, so I cannot recommend this.
- You can open the gradebook (1 click), type in the name of the assignment in the search box, then find the student, and change the status. Again, lots of click and loading the gradebook can be slow with a lot of assignments or students.
The fastest way I can think of doing it is to let the assignments accumulate for a while: a day, maybe two. Then you go into the gradebook and make all of the changes at one time. This reduces the overhead of loading the gradebook or SpeedGrader for each student. With this approach you could even go through and mark students as not late just based on the fact that they gave you an excuse and you know what assignments were due -- as opposed to them leaving a submission comment.
What I really see being a quick solution -- at least for you -- would be to take the page you get when you click on the email link and add a button near the grade box at the top. That button would be "Not Late" or "Remove Late" or "Reset Status" or whatever was appropriate. Clicking that would make an API call (or two) that would clear the late penalty status.
Although adding the ability to pick any of the statuses would be a more flexible solution, it would involve a lot more work. Canvas uses their own library to generate those and they don't make that available to use within the page to use. We would have to create our own system to do that. That's why I said it would be a quick solution for you where you want to just remove the late penalty.
Even though I don't use late penalties myself, I have looked into this before. Several years ago, I wrote a script that would go through and remove the late status for an entire assignment (or all assignments). This would be a smaller version of that script that only runs for a single student, but much of the logic is the same.
Those scripts require you to install a userscript manager such as Tampermonkey. Some institutions block those as they can present a security risk. Some people have had to use their personal computers to run the scripts.
Maybe someone who uses the late penalty will come up with a better way to do that, but that button is the quickest way I could think of.
One thing I'm not sure about is how you handle the case of a late assignment after it was reset --- the situation where the the student gets two days and then takes three and should get a 5% late penalty applied. It seems that instead of removing of just the late status, changing the due date for that student would be the better solution. Then you could let Canvas still apply the late penalty and it would give the student a better idea of when the assignment was actually due.
Changing the due date can be done programmatically as well, but it's not as simple as resetting a status. There could be buttons for "+1 day", "+2 days", "+3 days" or maybe a dropdown that lets you pick. You likely have to take into consideration the weekend and whether +2 days should be on Tuesday or Sunday when it's currently Friday. There's no way to know about school holidays or other events, so it may be that you have an option with Mon, Tue, Wed, Thu, and Fri and pick the one that should be the due date. But then you also have to worry about them not sending the comment right away and setting it a week in advance instead of a day behind. It gets really complicated, which may be part of why there's not a general solution out there.