CodeRoad - Build a Kitty Ipsum Translator

Tell us what’s happening:

I originally finished over 50% of this project on CodeAlly but that kept getting lost so I was excited to try this on Gitpod but the same thing is happening.

I started this from the beginning again on Gitpod, and got to 50%. I had to leave the house for 1 hour, I left everything open, fCC tab and Gitpod tab. When I got home Gitpod had timed out. I re-opened the workspace and started Coderoad but it’s back on the first step.

A good thing is that my files are still present:

So my progress is not totally lost again, but there is no way I’m going to step through every CodeRoad step again.

Does anyone know if I can salvage this by moving CodeRoad to the correct level? I see no option to do this, if I click review I only have the first step.

Screenshot 2024-03-13 125758

From what I understood, if I leave a freeCodeCamp tab, logged in, my progress should not get lost?

Challenge Information:

Learn Advanced Bash by Building a Kitty Ipsum Translator - Build a Kitty Ipsum Translator

Same problem:
https://forum.freecodecamp.org/t/learn-git-by-building-an-sql-reference-object/679224

I tried committing changes:
https://forum.freecodecamp.org/t/coderoad-not-remembering-where-i-left-off/679023

Not 100% the commit worked, not sure if I did it correctly. Do I need to link this to a personal github repo?

Could this be the problem?

freeCodeCamp is only aware of your progress when you complete a project - not individual steps. That is, only once a project is 100% completed, is something saved to the database.

Could this be the problem?

That is just saying there are changes on the local branch in the Gitpod workspace that have not been pushed to a remote. CodeRoad does not care if commits are push to a remote or not.


@moT01 Do you know how/why CodeRoad starts from lesson 1 again?

It timed out again, I opened it again and now it seems to be back on the correct step

Praise the Gods of Programming.

I won’t be surprised if/when it happens again though…

Hello @pkdvalis
I do not know if this will help you to draw some conclusions. I have tested this same scenario in a local environment (in Linux containers) and in Gitpod (they use containers, as well) and the result is similar. I have noticed that CodeRoad depends on information stored in your browser, mostly the data that gets updated with the cookie. When it is locally, I can identified the cookie as coming from the local container, when I do it from Gitpod the cookie is from their domain. In both cases, the persistence is dependent of it. Any browser setting or add-on that disturb that cookie will produce the same effect.

1 Like

Thanks for the tip!

Had a look through the cookies but I didn’t see anything I could modify to move it along.

That said, cookies are enabled and present. I’ll check them next time it happens. For now, I just rushed though that lesson while I had some time to finish it!

Hopefully it’s not a problem going forward but it seems very sketchy to me now. This was was particularly grueling and to do it all over again is painful. The next project is even longer bash/sql, I really hope it doesnt have the same problem or I will have to skip this section entirely.

I opened it again and now it seems to be back on the correct step

Glad you were able to get back to the correct step @pkdvalis :+1: At least that’s something people can try.

Do you know how/why CodeRoad starts from lesson 1 again?

CodeRoad may have multiple ways it keeps track of the current step. I’m not aware of any cookies it uses, but it may. As far as I know, it writes the current step to a file - and when it loads, it checks that file. I would have to go find which file, and see if it seems to be doing anything. When we moved to Gitpod, I tested containers timing out and continuing the course more than a few times - I was always taken to the correct step, so it seemed to be working. I will test some more and see if I can figure anything out to make it more consistent.

Intermittent problem is the worst to troubleshoot…

This may have helped in my new problem (bike shop db) but I’ve only tested it once

Hi @moT01

This is easy to corroborate. Spin a backend course with vscode and coderoad. Answer a couple questions. Stop the course. Clear the cookie generated. If it is a local container it will be coming from localhost, if it is from Gitpod, it will be from that domain. Start the previous course again. See the result.

1 Like

There are no cookies for CodeRoad’s state. You can see the logic here:

I am trying to report my findings. It may not be from coderoad, it may be from vscode that runs coderoad but the effect is as described. I am not stating that everyone is having this issue but when I started to troubleshoot it I thought, what do all these people have in common? They use a browser with visual studio code. I knew I was having the problem with Gitpod, could I have the problem with a local container? Yes. I did.

1 Like

It dictates to logic that since we are using a container the behavior should be predictable and consistent, after all that’s the ultimate goal of running a container, to eliminate “it works on my machine”. However, my intuition is telling me that we need to consider that people’s browsers are now playing the role of “my machine”.

1 Like

I received some credits again from Gitpod, so I decided to post a couple snapshots demonstrating the effect of deleting the Gitpod cookie.
Starting and going through a new course. I am stopping the container after 4%.

I am simulating the loss of the cookie for Gitpod domain.


My progress is gone in coderoad.

Notice at the left my project. My directory previously created and the history is still there.

This makes sense with my experience logging into another computer and the project was still at the correct state but coderoad was on step 1. Only in the instructions it displayed though, when I tried to enter the commands for Step 1 it gave an error that was much further along…

Logging back into my normal computer coderoad was closer to my current state (though not synced perfectly)

I was able to capture something interesting from my point of observation.

Coderoad is at first screen asking me to initiate with “echo hello git” but if I click run, you see the warning at the bottom like if I have already the README.md file created as a step behind of when I left it. And the funny deal is that I am not even in the right directory (I should be in sql_reference) at the terminal.

Yeap! It is stuck. I am entering the echo hello git in a new terminal but it doesn’t see it.

This is interesting. I found the last commit containing the saving of the true history showing that I truly did an echo "SQL Reference" > README.md (right hand panel) and it was recorded as progress 100.1 (left hand panel git) and then a progress 10.1 (which is the first test) overrides it on top.


But as you see in the terminal the command cat README.md says that there’s nothing in that file.