Welcome to my internship work blog!

In this blog, I'll be posting about my experience as an intern at JdeRobot.

Week 10 (June 24th - June 28th)

First, during this tenth week of internship, I have continued to review the Unibotics' Evaluation button to active it and allow interaction with the user when entering the exercise. This problem comes from using the new four-step RAM and its new states. Updating the state "ready" to "visualization_ready" I have managed to make it stop being blocked.

Despite this, the button presents two problems:

Regarding the efficacy evaluation error, I’ve been investigating why the problem might be happening. I have discovered that the button is activated based on a prop 'efficacy' which seems to be being sent wrong to the script, causing it to enter the branch in which this option is not shown. However, I have not yet been able to find out from where the prop value is being sent or where it is being defined.


On the other hand, I have been checking the exercises’ Frequencies button, in the current branch and in production, to confirm if it works correctly or not. After the tests, I have discovered that the button does not work well, showing the frequencies only in two exercises: Follow Line and 3D Reconstruction. In all other exercises, the frequencies are always 0. Therefore, this problem must be solved.

Continuing with Unibotics’ buttons, I’ve been helping Carlos review the Save button problem. Researching React states, I have discovered that there is a state that is not being updated correctly, "isLoadingCode", due to the handleCodeLoaded event that manages this update. Commenting this to Carlos, he discovered that the problem came from the "AceEditorRobot" component used in the exercise’s template. This component defines this event, but, in the templates, we were using the "AceEditorRobot" of Robotics Academy and not that of Unibotics, causing this problem.


I have also continued to investigate the error of new users registration on Unibotics, creating a branch for it. Thanks to the research of common's "urls.py" and "views.py" scripts, as well as "settings.py", I have managed to solve the initial problem of the url 'activate' and new problems that appeared in the process.

The initial "No Reverse Match" problem in the url 'activate', related to account activation after registration, is due to a restriction of the token marked in the re_path of the url that is never met and related to the maximum number of characters of the token.

In addition to this, a new problem has appeared linked to the process of sending confirmation messages from a host email to the user’s email, using the django message system. This problem is due to the fact that the email settings have not been defined in the "settings.py" file and we do not have a host email from which to send these confirmation messages. This has been adapted to send emails from the Unibotics account.

The last error relates to the use of the "ifequal" condition in the template "new_main_page" which is deprecated in the current Django version. By correcting these aspects, now new users can register and activate their accounts without problems.



Unibotics registry error fixed



Finally, given Carlos' indications, I have begun to investigate a problem with the maps images of certain exercises, which do not load correctly in Unibotics, showing an asset not found error in the console. In the end, I have managed to find a partial solution by modifying and adapting the pathing of these images in the Specific files of the exercises in the Robotics Academy submodule so that they search for the image from the Academy folder of Unibotics in which they are looking.

JdeRobot logo URJC and ETSII logo