Missing "Work in Repl" badge/button for some students

We have set up a few GitHub Classroom assignments, and very recently a number of students are finding that they don’t have a “Work in Repl” badge being added to their README.md file when they clone (i.e. accept the GH Classroom invitation link). It has happened in the past for some students. I then delete their repo myself (from GitHub) and ask them to re-accept the invitation link. That seemed to fix it a few months ago (for the very rare occasions that happened). But more recently, we’ve noticed it is happening a lot more often. What’s more, when I delete their repo and ask them to accept it again, same problem. It consistently won’t work for some students.

I noticed this post, seems like a known issue?

We don’t have test cases set up for the GitHub Classroom, and I would rather not fiddle with settings every time to try and “fix” things (chances are it will only cause more problems).

Is there at least a Plan B solution, where I can manually add a “Work in Repl” badge directly into the README.md file? But I think for this to work, I need to know what the student’s “assignment_repo_id” is, as I noticed this is the underlying link of the badge (e.g. 12345678)

https://classroom.github.com/online_ide?assignment_repo_id=12345678&assignment_repo_type=AssignmentRepo

I suspect this link is what tells Repl that the project is free (students cannot make free private Repls unless they are automatically cloned from GitHub Classroom – and yes aware they can upgrade for 3 months free but at the moment wanting a proper solution).

Any suggestions on how I can extra what the “assignment_repo_id” is, would possibly be the best solution in the short term.

EDIT: as a temporary hack, I have asked some students to manually make a new Repl (from repl.it) and then associated it with their assignment GitHub repo. This then makes the Repl for them to work in. I’m not sure if this automatically makes the Repl “private” (the Repl – not referring to the GitHub repo)? It seemed to make it private in this case, is it because it knows the student’s GitHub repo is tied to a GH Classroom assignment? Anyway, after this step, we manually added a “Work in Repl” badge in the README.md, and tied it to the repl.it URL for that assignment. It seems to work… but like I said, I am unsure if this is a safe often all the time, as I am aware that Repls aren’t private unless they are spawned from a GitHub Classroom invite. So, I am just a bit nervous if students end up making public Repl workspaces for their assignment.

Many thanks!

2 Likes

I’m having this same problem. I’ve got an assignment, in progress, where a number of students had no problems with it; but the most recent ones (including me) to use the GitHub Classroom link to generate the repo get no README at all, which means the “Work in Repl” badge is missing. I would love some help in getting this working again!

1 Like

Interesting, all the students get the README.md file (which I had added myself beforehand). What I’ve noticed is that for students that don’t have things working, they only get the first two commits replicated on their cloned repo. Whereas for the students with everything working fine, they get 3 commits. The third commit is the one automatically generated by the Repl+Classroom integration (i.e. to add the Repl button).

The weird thing is, it’s consistently happening now. Looks like the only students that had no problems were students that accepted the link more than a couple of days ago. If I order the GitHub Classroom Assignment repos by order students created them, it looks like all the most recent ones consistently don’t have the Repl button. So, like you say @dmusican, seems it’s not working for the most recent cloners. So must be some new bug :frowning:

Yep, it’s definitely happening very consistently now. I had accepted the assignment a week ago on my student account, and it worked fine. I deleted the repo, and accepted again now and it again didn’t make the Repl button. I deleted the repo yet again to clone again, and still didn’t create the Repl button.

@nasuoa Everything you say makes sense regarding the README.md file. I don’t add that myself; I have it missing in my own original repo. What was happening was that the last commit that you mention, when adding the Repl button, was creating that file. So we’re seeing the same thing; just that you started with a README.md file and I started without one, but in both cases the process that adds the Repl button broke.

I’ve instructed my own students to do your temporary hack, i.e., creating the repl in Repl.it, then importing from GitHub.

The only thing that worries me about this temporary hack is that private Repls are only free for (i) repl.it users that have the “Hacker” account (paid), or (ii) projects spawned from GitHub Classroom. I’m just not sure whether repl.it uses the GitHub repo URL to determine it’s effectively a GitHub Classroom repo (and hence makes it private – which is perfect), or whether it needs to be spawned by the “Work in Repl” button (which I have noticed has an “assignment_repo_id” parameter).

I’m also having this issue on all newly created Classroom assignments. Any help with this would be greatly appreciated! @d12 - do you have any ideas on this one?

1 Like

Hey!

I’m not entirely sure what is going on here, but I have opened an issue so we can look into it. Similar to what was said above, there are sometimes delays with the badge being added although 2 - 3 hours seems like an issue.

I’ll update y’all when we have a little more info on what’s going on.

2 Likes

Hi!

In the future feel free to @mention me so I get a notification! :smile_cat: d12 actually started working at another company over the summer.

Thanks Katie!

The open Repl.it -> manually import repo workaround is fine for now for me (at least for public repos).

1 Like

Thanks @ohitsmekatie Katie! Just some more info in case it helps…

The only problem with the temporary workaround (to create a Repl directly from repl.it and use the “Import from GitHub” section is that it forces the student to upgrade to a paid Repl account. In other words, Repl doesn’t detect from the GitHub URL that this is actually a GitHub Classroom Assignment (and hence should be private free). Here’s a screenshot of it not allowing me to progress, it pops up the “Upgrade Repl” dialog in the background of me trying to import a GH assignment:

I’m aware that students have a 3-month free upgrade thanks to the GitHub Student Developer Pack, so hopefully this will be fixed by then :slight_smile:

My workaround was to have students click “Sign Up” and use their GitHub account every time they want to log it. That seemed to bypass the upgrade to Hacker plan for private repos problem. Then the import directly from GitHub workaround work. To clarify, both my students GitHub repos and Repls are private (and still are with this workaround).

Thanks @mrsimonsen. I’ve just tried again to replicate what you suggest, but I cannot replicate it. It still insists on me upgrading to the Hacker plan. I log in to repl.it using the GitHub credentials. This is a brand new GitHub account that is added into GitHub Classroom. Here’s what I see in repl.it, notice the “upgrade” options next to the “+” and username.

I have an alternative student GitHub account where I can make private Repls (and hence link to the private GitHub repo). This is what that account looks like, notice “hacker” next to the username and no longer any upgrade options:

So those private Repls I think are happening on an account where “Upgrade” isn’t an option, implying they are already on a Hacker plan. Or maybe I’m missing something.

The “Work in Repl” badge is also not working for me either. It worked last week but doesn’t any longer.

Hi All!

Another work around for the time being, while we are looking into it, is to copy the URL from within Classroom directly and give it to your students.

Hi @ohitsmekatie!

That classroom link enables students to create their own fork of the repository, but it doesn’t help them get that code into Repl.it, which is what the problem is.

My course is already using that Classroom URL has part of our workflow. The problem is after you use that link to create a repository, that repository is missing the “Work in Repl.it” button, which GitHub Classroom used to add up until this last weekend. I hope that makes sense; can I clarify further?

1 Like

Any updates on why the “Work in Repl.it” badge isn’t available on student repos?

Ah yes, apologies. That makes sense!

An Engineer is digging into this as we type! We aren’t sure what’s going on exactly, but when I have details i’ll update this thread.

1 Like

Hi @ohitsmekatie,

Thanks heaps to you and your team for looking into this!

In the meantime, are the engineers able to give insight to how the Work in Repl link works? Namely, I noticed the URL target of this button having the following format:

https://classroom.github.com/online_ide?assignment_repo_id=12345678&assignment_repo_type=AssignmentRepo

I’m particularly intrigued by the the assignment_repo_id=12345678 parameter. Is there a way from GitHub Classroom (or the GitHub Organization linked to the classroom) allowing us to find out what the student’s assignment_repo_id is? I believe that would at least allow us to manually add this button as a worst-case hack – and then the issue is “fixed” for the student. I don’t think it’s some secret (since it is eventually made accessible once the Repl button is put in place). I suspect this parameter is used by Repl in some way to check it is allowed to clone a private copy of the repository.

The reason I ask, is because I’m particularly worried about the future of this happening again. At least with this available, we can guide students to manually add in the button themselves. By having this assignment_repo_id visible to students (or at least teachers), it would be a fantastic fallback solution in case some other bug happens in the future causing the button not to appear. Then we just need to advise students something along the lines of “edit your README.md file, copy-paste this bit of code, replace this number with your assignment_repo_id found in XYZ”.

This is my first semester using GitHub Classroom + Repl integration. It has been a game changer for me in the teaching of early programming courses. I love it, and students seem to love it. I’m planning to completely revamp my teaching approach next year, just because of what this allows. This little backup option would give me the reassurance, although I don’t know where you’d make it visible (i.e. GitHub Classroom or GitHub itself).

Many thanks!

1 Like
© 2017 GitHub, Inc.
with by
GitHub Education