Question: - text: Your regex should use curly brackets. testString: assert(timRegex.source.match(/{.*?}/).length > 0); - text: Your regex should not match "Timber"  testString: assert(!timRegex.test("Timber"));   testString: timRegex.lastIndex = 0; assert(!timRegex.test("Timber"));  - text: Your regex should not match "Timmber"  testString: assert(!timRegex.test("Timmber"));   testString: timRegex.lastIndex = 0; assert(!timRegex.test("Timmber"));  - text: Your regex should not match "Timmmber"  testString: assert(!timRegex.test("Timmmber"));   testString: timRegex.lastIndex = 0; assert(!timRegex.test("Timmmber"));  - text: Your regex should match "Timmmmber"  testString: assert(timRegex.test("Timmmmber"));   testString: timRegex.lastIndex = 0; assert(timRegex.test("Timmmmber"));  - text: Your regex should not match "Timber" with 30 m's in it.  testString: assert(!timRegex.test("Ti" + "m".repeat(30) + "ber"));   testString: timRegex.lastIndex = 0; assert(!timRegex.test("Ti" + "m".repeat(30) + "ber"));  ```

<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --Describe your problem and how to reproduce it: In the lesson linked below, This will pass: But this wont: The error message says: Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Google Chrome Browser Version: Version 81.0.4044.113 (Official Build) (64-bit) Operating System: Fedora 31 If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box):
Interestingly, this code passes:
Considering this is the testString: It seems like a potential issue with the console, ? Related to
I believe the method used to solve a similar problem in would work here. - scroll down to the middle of the section...
On a side note: Should this code be left to be allowed to pass the tests?:
I don't think should pass, since it's just an odd way of writing , rather than how you'd actually use . As for the console, I get in both consoles, which seems fine.
I don't mind passing all that much. Mostly because I am doubting that anyone has actually used that. But I also don't mind fixing it since it's not really how it was intended to be completed. I think the easiest fix would be to change the first test... Your regex should use curly brackets. to something like... - and update the test to check for that.
It's pretty inconsequential, honestly. I'd prefer it to fail, but you're right - it's unlikely many people have done that while actually trying to solve the problem. If it's fiddly to reject that while allowing valid solutions, don't worry about it.


Question:
<Spacer />
As featured in:
 <Image  alt="companies featuring freeCodeCamp"   alt='companies featuring freeCodeCamp'  className='img-center' responsive={true} src='https://s3.amazonaws.com/freecodecamp/as-seen-on.png'

I can work on this. A little confused though, since it appears to be there already. Does the mission statement go here? Please provide instructions, thanks.


Question: # --description-- <del> Now it's time time to add other details to the markers, starting with the first one. </del> <ins> Now it's time to add other details to the markers, starting with the first one. </ins> In the first marker `div` element, change the class `one` to `red`.

<!-- NOTE: If you want to become an author on freeCodeCamp, you can find everything here: --<!-- If you are reporting an issue with an article on our News publication, please follow this link to send an email to our editorial team --<!-- Add a link to the page with the problem. -- <!-- Describe the problem and how to reproduce it. --extra word -"time" word continuous appeared twice "time" should just only appeared once in the first sentence <!-- A clear and concise description of how you want to update it. --Now it's time to add other details to the markers <!-- If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box). --!
Thanks for opening this issue. This looks something that can be fixed by "first time" code contributors to this repository. Here is the file that you should be looking at to work on a fix: Please make sure you read , we prioritize contributors following the instructions in our guides. Join us in or if you need help contributing, our moderators will guide you through this. Sometimes we may get more than one pull requests. We typically accept the most quality contribution followed by the one that is made first. Happy contributing.
Hi As I am new to opensource, I would like to contribute to this issue.


Question: "data"), true); ``` <del> `truthCheck([{id: 1, data: {url: "https://freecodecamp.org", name: "freeCodeCamp}}, {id: 2, data: {url: "https://coderadio.freecodecamp.org/", name: "CodeRadio"}}, {id: null, data: {}}], "id")` should return `false`. </del> <ins> `truthCheck([{id: 1, data: {url: "https://freecodecamp.org", name: "freeCodeCamp"}}, {id: 2, data: {url: "https://coderadio.freecodecamp.org/", name: "CodeRadio"}}, {id: null, data: {}}], "id")` should return `false`. </ins> ```js assert.strictEqual(truthCheck(

<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --<!-- Add a link to the coding challenge with the problem. --The test cases are missing a closing quote in what is displayed in the challenge and there is no way to tell if it's the same under the hood or not - probably not because the code won't even run the way it is shown in the challenge. The word "freeCodeCamp" in those examples has a " in front of it but not after it - causing the code to fail. What is the proper thing to do? Just fix it? - - Your browser information: User Agent is: <codeMozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:98.0) Gecko/ Firefox/98.0</codeChallenge: Everything Be True Link to the challenge: <!-- Add a clear and concise description of what you expected to happen. --When the test cases are used to develop a solution to the challenge the code fails. Please add a closing quote to the last two test cases shown on the challenge page so that they may be used directly in our efforts to develop a solution to the challenge. <!-- If applicable, add screenshots to help explain your problem. you can drag and drop, png, jpg, gif, etc. in this box. --! <!-- Please complete the following information. --- Device: [e.g. iPhone6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.4] Browser: [e.g. chrome, safari] Version: [e.g. 22] <!-- Add any other context about the problem here. --
Thanks for opening this issue. This looks something that can be fixed by "first time" code contributors to this repository. Here are the files that you should be looking at to work on a fix: List of files: Please make sure you read , we prioritize contributors following the instructions in our guides. Join us in or if you need help contributing, our moderators will guide you through this. Sometimes we may get more than one pull requests. We typically accept the most quality contribution followed by the one that is made first. Happy contributing.

Hi , I'm new to open source and would love to contribute to this
:+1:, no need to ask for permission. Issues labelled with or are open for contributions. My previous comment includes couple of links that should help with getting started and if you'd get stuck.
Hey It seems you have opened a pr on your own version of the repository. Do you mind opening it here instead? Have a nice day and happy coding
Hi I'm so sorry, hope I did it right this time!
Closed with


Question: <form id='internet-presence' onSubmit={this.handleSubmit}> <FormGroup controlId='internet-github'  validationState={this.getValidationStateFor(githubProfile)}   validationState={githubProfileValidation}  >  <ControlLabel> GitHub </ControlLabel>   <ControlLabel>GitHub</ControlLabel>  <FormControl onChange={this.createHandleChange('githubProfile')} type='url' value={githubProfile} />  {githubProfileValidationMessage ? ( <HelpBlock>{githubProfileValidationMessage}</HelpBlock> ) : null}  </FormGroup> <FormGroup controlId='internet-linkedin'  validationState={this.getValidationStateFor(linkedin)}   validationState={linkedinValidation}  >  <ControlLabel> LinkedIn </ControlLabel>   <ControlLabel>LinkedIn</ControlLabel>  <FormControl onChange={this.createHandleChange('linkedin')} type='url' value={linkedin} />  {linkedinValidationMessage ? ( <HelpBlock>{linkedinValidationMessage}</HelpBlock> ) : null}  </FormGroup> <FormGroup controlId='internet-picture'  validationState={this.getValidationStateFor(twitter)}   validationState={twitterValidation}  >  <ControlLabel> Twitter </ControlLabel>   <ControlLabel>Twitter</ControlLabel>  <FormControl onChange={this.createHandleChange('twitter')} type='url' value={twitter} />  {twitterValidationMessage ? ( <HelpBlock>{twitterValidationMessage}</HelpBlock> ) : null}  </FormGroup> <FormGroup controlId='internet-website'  validationState={this.getValidationStateFor(website)}   validationState={websiteValidation}  >  <ControlLabel> Personal Website </ControlLabel>   <ControlLabel>Personal Website</ControlLabel>  <FormControl onChange={this.createHandleChange('website')} type='url' value={website} />  {websiteValidationMessage ? ( <HelpBlock>{websiteValidationMessage}</HelpBlock> ) : null}  </FormGroup> <BlockSaveButton disabled={

Describe the bug For field in , error state can not be triggered. Warning state will be triggered when an email address with incorrect domain is entered (for example: ). For all fields in , both error and success state can not be triggered. To Reproduce Steps to reproduce the behavior: to http://localhost:8000/settings to fill and to Describe the bug Expected behavior For field in , error state should be triggered instead of warning state. There should only be two states for an email address. Success state is when it is a valid and reachable email address. Error state is when it is an invalid and unreachable email address. For all fields in . Success state is when it is a valid and reachable URL. Error state is when it is an invalid and unreachable URL. Desktop (please complete the following information): OS: Windows 10 1809 Build .832 Browser Latest Chrome Version 77.0.3865.120 (Official Build) (64-bit)
Calling to discuss this from issue . What do you think about this? Are there anything to add or change from the Expected Behavior I described?
the only thing I'm not sure about is 'unreachable'. Do you just mean unreachable because the URL is malformed? Like , for example. If so, then I completely agree. cc
Yes of course. 'Unreachable' is only defined by malformed email format ( valid length, etc) and URL format (protocol, colon, double slash, etc). It is also possible to check the top level domain part against current existing TLD programatically. Other than that, for example checking real email address which is existing should be done by email confirmation / verification.


Question: }: CompletedChallenge): DisplayType => { if (examResults) return 'showExamResults'; if (challengeFiles?.length) <del> return challengeType === challengeTypes.multifileCertProject || challengeType === challengeTypes.multifilePythonCertProject </del> <ins> return challengeType === challengeTypes.multifileCertProject </ins> ? 'showMultifileProjectSolution' : 'showUserCode'; if (!solution) return 'none';

After submitting one of the new multifile Python cert projects, when you try to view the project on your settings page - it shows a blank page (links are to .dev) to a a solution to down to the project you just submitted -blank page Either show the python code running, or just remove the button for those projects. !


Question: "description": [ "Delete your h2 element's style tag and write the CSS to make all h2 elements blue.", "With CSS, there are hundreds of CSS attributes that you can use to change the way an element looks on a web page.",  "When you entered <h2 style="color: red">CatPhotoApp<h2>, you were giving that individual h2 element an inline style",   "When you entered <h2 style="color: red">CatPhotoApp</h2>, you were giving that individual h2 element an inline style",  "That's one way to add style to an element, but a better way is by using Cascading Style Sheets (CSS).", "At the top of your code, create a style tag like this: <style></style>", "Inside that style element, you can create a css selector for all h2 elements. For example, if you wanted all h2 elements to be red, your style element would look like this: <style>h2 {color: red;}</style>",

Challenge has an issue. Please describe how to reproduce it, and include links to screen shots if possible. What I see: You can apply a class to an HTML element like this: <h2 class="blue-text"CatPhotoApp<h2What I expected to see: You can apply a class to an HTML element like this: <h2 class="blue-text"CatPhotoApp</h2
Markdown's getting in the way, see screenshot. !


Question: **Instructions:** Write a function `bubbleSort` which takes an array of integers as input and returns an array of these integers in sorted order from least to greatest. <del> **Note:** We are calling this function from behind the scenes; the test array we are using is commented out in the editor. Try logging `array` to see your sorting algorithm in action! </del> # --hints-- `bubbleSort` should be a function.

<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --Describe your problem and how to reproduce it: The challenge description says there is not a commented out array there I wouldn't know how to change that other than deleting the paragraph entirely Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Google Chrome Browser Version: 87.0.4280.77 Operating System: iOS 14.1 If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box):
Description is wrong. Code placeholder was changed in - test array moved from comment to function call argument, but description stayed same without any edits.
This seems quite reasonable. I will open this up to first timers
An issue with the help wanted or first timers only label is open for contribution. The first comprehensive PR created will be reviewed and merged. If you would like to contribute, and have not read the contributors docs, please do so here: If you have any issues with contributing, be sure to join us on the , or on the
I would Like to contribute to your cause i am a first timer and have not yet worked in big project but i want to start by freecodecamp
thank you for wanting to contribute, this issue has already a linked PR. Take a look at other issues with label "first timers only" and "help wanted" that do not have already a linked PR


Question: # How to Work on Practice Projects <ins> Our practice projects use a step-based approach to teach concepts to campers. A project will consist of multiple files, which we refer to as **"steps"**. These files are named by the challenge ID, to avoid issues with the translation flow. Unfortunately, this makes it difficult to find the file associated with a specific step. We've built a challenge editor tool that helps remedy this. This tool allows you to navigate the available projects, and the steps for each project (in order). There's also an embedded code editor you can use to work on the files directly. ## Using the Challenge Editor These instructions will tell you how to use our challenge editor tool to work on the practice projects. ### Starting the Editor To start the editor, make sure you are in the root freecodecamp directory. Then, run `npm run challenge-editor` to start both the client and the API that powers the editor. The client will run on port `3300`, so you can access it at `http://localhost:3300`. The API runs on port `3200`, to avoid conflicts with the learn client and server. This will allow you to run the freeCodeCamp application at the same time as the editor, so you can test your changes locally. ### Navigating the Editor The default view will list the available `superblocks` - these are the certifications. Click on the certification link you want to work on. This will take you to the list of blocks. These are the practice projects. Click on the project link you want to work on. This will take you to a list of steps for the project. If you are working on an existing step, you can click on the step link to open the editor. If you are adding or removing steps, click the `Use the step tools` link to switch to the step tools for that challenge. ### Editing Steps When you click on a step, you'll be taken to the editor. This is a basic text editor that offers syntax highlighting. After you have made your changes, click the `Save Changes` button to save your changes. You will get a browser alert letting you know that your changes are ready to commit. Note that you'll need to use `git` manually to stage and commit your files - this tool will not do that for you. ### Step Tools When you click the `Use the step tools` link, you'll be taken to the step tools page. This allows you to add or remove steps from the project. #### Create Next Step Clicking this button will add a new step at the end of the project. This step will use the previous step's code as the seed. #### Create Empty Steps Enter the number of steps you want to add in the input. Then, clicking the button will create that many empty steps at the end of the project. #### Insert Step Enter the step number that you want to add a step _after_. For example, if you want to add a step after `step-12`, enter `12`. Then, click the `Insert Step` button to add the step. The following steps will be re-ordered. #### Delete Step Enter the step number you want to delete. Then click the `Delete Step` button to remove that step. This will automatically update the step numbers for the remaining steps. #### Update Step Titles You should not have to use this tool unless you've manually deleted or added steps. This tool will reorder the step numbers. ## Using the Scripts Manually If you want to work on the steps manually, in your local IDE, you can run the step management scripts directly. </ins> The `tools/challenge-helper-scripts` folder contains tools to help facilitate the creation and maintenance of the freeCodeCamp project-based curriculum. <del> ## Create a new project </del> <ins> ### Create a new project </ins> <del> Run `npm run create-project`. This opens up a command line ui that guides you through the process. Once that has finished, there should be a new challenge in the English curriculum that you can use for the first step of the project. For example, if you created a project called `test-project` in the Responsive Web Design certification, it would be in `curriculum/challenges/english/01-responsive-web-design/test-project`. </del> <ins> Run `npm run create-project` from the root directory. This opens up a command line ui that guides you through the process. Once that has finished, there should be a new challenge in the English curriculum that you can use for the first step of the project. For example, if you created a project called `test-project` in the Responsive Web Design certification, it would be in `curriculum/challenges/english/01-responsive-web-design/test-project`. </ins> If you want to create new steps, the following tools simplify that process. <del> ## create-next-step </del> <ins> ### create-next-step </ins> A one-off script that will automatically add the next step based on the last step in the project. The challenge seed code will use the previous step's challenge seed code. <del> ### How to run script: </del> <ins> #### How to run script: </ins> 1. Change to the directory of the project. 2. Run the following npm command:

challenge-editor should be to the "How to work on practice projects" documentation here:
I'll tackle this today.


Question: ] ], "type": "hike",  "challengeType": 6   "challengeType": 6, "id": "56b15f15632298c12f315185", "nameEs": "JavaScript Lingo: expresiones regulares (RegExp)", "descriptionEs": [ "Las RegExp no siguen el formato del resto de JS, y pueden requerir una curva de aprendizaje.", "Las epresiones regulares (abreviado RegExp) también pueden ser una herramienta muy útil y eficiente.", "Usando RegExp, puedes hacer coincidir, reemplazar, buscar y dividir una cadena, uno de los tipos más difíciles de manipular.", "Al igual que con todos los otros videos, no vamos a entrar en detalles, pero quiero mostrar algunos ejemplos donde las RegExp son útiles.", "Si quisieras crear una página de registro que verifique las contraseñas para que contengan al menos un número y una letra mayúscula, puedes usar expresiones regulares.", "Si quieres asegurarte de que las fechas introducidas en una página sean todas fechas válidas en el futuro, puedes usar RegExp.", "Si bien hay infinitas maneras de utilizar RegExp, muchas de estas incluyen validaciones o ediciones automáticas de información." ]  } ] }

[ ] JavaScript Lingo: MDN and Documentation [ ] JavaScript Lingo: Value Types [ ] JavaScript Lingo: Variables & camelCase [ ] JavaScript Lingo: Arrays & Objects [ ] JavaScript Lingo: Finding and Indexing Data in Arays [ ] JavaScript Lingo: Manipulating Data [ ] JavaScript Lingo: Math [ ] JavaScript Lingo: Loops [ ] JavaScript Lingo: Regular Expressions
Working on this one


Question: "contents": [ "// Example", "var ourArray = ["Stimpson", "J", ["cat"]];", <del> "removedFromOurArray = ourArray.shift();", </del> <ins> "var removedFromOurArray = ourArray.shift();", </ins> "// removedFromOurArray now equals "Stimpson" and ourArray now equals ["J", ["cat"]].", "", "// Setup",

<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --I didn't know where to put this, but in this exercise the example code on line 3 does not define the removedFromOurArray variable with the var keyword. This causes the test to fail if the user follows the exercise explicitly and only changes the code below the commented line. I imagine this would be frustrating to new users. Browser Name: Chrome Browser Version: Version 66.0.3359.181 (Official Build) (64-bit) Operating System: Windows 10 !
Working on it
I think this would need to raised on the repo for learn: cc
Hi we may have created some confusion on where to create issues and PR Issues are welcome to opened on any repo you like learn or the main repo. We ( will take care of moving them around as needed. Just tag us (me, Stuart are actively checking these) when in doubt. But its fine to just report an not worry ! As for which repo to make a PR against: All of the challenge execution logic is now moved to the learn repo. That is to say, it has become our challenge platform. Its based on Gatsby, and is a simple static app.The challenge themselves (just the content, instructions, and the tests) are on the main repo. They are now published as a npm package. And used on learn as a dependency.The main repo, will just serve the welcome page, user settings and portfolio.
Thank you for the information. I am just a beginner student, so I’m sure I’ve done something stupid. I didn’t know where to put this, but thought I’d raise this as it confused me and I thought it would confuse others. Please move this to the correct place or delete if appropriate. Thank you.
its perfectly alright. Thanks for reporting issues. Please keep it up (on any repo you prefer)


Question: return str.match(regex); } <del> --fcc-editable-region-- </del> function addEntry() { const targetInputContainer = document.querySelector(`#${entryDropdown.value} .input-container`); const entryNumber = targetInputContainer.querySelectorAll('input[type="text"]').length; const HTMLString = ` <ins> --fcc-editable-region-- </ins> <label>Entry ${entryNumber} Name</label>`; <ins> --fcc-editable-region-- </ins> } <del> --fcc-editable-region-- </del> ```

A camper on the forum was unable to pass the lesson this was their code the issue was here the tests only accept it if the label is on the next line like this see suggested fix down below about updating the editable regions see explanation above see explanation above No response Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] No response
I remembered this issue here where there were issues with the newlines So, I feel like an easier fix would be to just fix the editable regions Here should be the new fix:
I'm going to flag this one for first-timers only.


Question: res.render('bonfire/show', { completedWith: null, title: bonfireName, <ins> name: bonfireName, </ins> difficulty: +bonfireDifficulty, brief: bonfireDescription[0], details: bonfireDescription.slice(1),

<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --The test requires a multi-line comment of the form . However, the test fails if additional ` characters are present at the beginning or the end of the text contained within the comment. Some examples : The regular expression for the corresponding test needs to be updated. Browser Name: Google Chrome Browser Version: 60+ Operating System: Ubuntu 18.04 !
Hi, I would like to have a go to fix this problem
That's good, please read .
Test fails if multiline style comment includes either / File: Line: 33 this regex is the problem

When I attempt to Run the tests for the code I submitted for Roman Numerals Converter, the page freezes and I cannot solve the issue until I clear the cashe of my browser. Help!
I have the same issue. My browser complains about a long running script and then bails out.
Ok, I figured this one out... if you use the solution in the Gritter chat, that solution will cause a never ending loop, because of the while expression (while numCopy 0 - which is always true btw). This never ending loop will freeze your browser. Moreover, as I lately discovered, the solution there only covers very few of the cases that we need to test to pass the Bonfire. So back to the drawing board, people!
Leaving this open as a bug for someone to fix the solution in the wiki to one that works with the new test cases.


Question:
], "nameEs": "Construye una página web para tu portafolio", "descriptionEs": [  "Objetivo: Crea una aplicación con CodePen.io que reproduzca efectivamente mediante ingeniería inversa este app: http://codepen.io/FreeCodeCamp/full/VemmoX/.",   "Objetivo: Crea una aplicación con CodePen.io cuya funcionalidad sea similar a la de esta: http://codepen.io/FreeCodeCamp/full/VemmoX/.",  "Regla #1: No veas el código del proyecto de ejemplo en CodePen. Encuentra la forma de hacerlo por tu cuenta.",  "Regla #2: Puedes usar cualquier librería o APIs que necesites.", "Regla #3: Usa ingeniería inversa para reproducir la funcionalidad del proyecto de ejemplo, pero también siéntete en la libertad de personalizarlo.", "Pista: Si no quieres iniciar desde cero, puedes bifurcar (fork) la siguiente plantilla simple de Bootstrap en CodePen: http://codepen.io/FreeCodeCamp/pen/mJNqQj.", "Las siguientes son las historias de usuario que debes satisfacer, incluyendo las historias opcionales:", "Historia de usuario: Como usuario, puedo acceder a todo el contenido de la página del portafolio con sólo desplazarme en la ventana.", "Historia de usuario: Como usuario, puedo pulsar diferentes botones que me llevarán a las páginas de las diferentes cuentas de redes sociales del creador.", "Historia de usuario: Como usuario, puedo ver una imagen de los diferentes proyectos que el creador del portafolio ha construido (si no has construido ningún sitio web antes, usa placeholders.)", "Historia de usuario opcional: Como usuario, puedo navegar a las diferentes secciones de la página web pulsando botones de navegación.",   "Regla #2: Satisface las siguientes historias de usuario. Usa cualquier librería que necesites. Dale tu estilo personal.", "Historia de usuario: Puedo acceder a todo el contenido de la página del portafolio con sólo desplazarme en la ventana.", "Historia de usuario: Puedo pulsar diferentes botones que me llevarán a las páginas de las diferentes cuentas de redes sociales del creador del portafolio.", "Historia de usuario: Puedo ver una imagen de los diferentes proyectos que el creador del portafolio ha construido (si no has construido ningún sitio web antes, usa plantillas.)", "Historia de usuario opcional: Puedo navegar a las diferentes secciones de la página web pulsando botones de navegación.",  "No te preocupes si no tienes nada que mostrar en tu portafolio todavía - en los siguientes desafíos crearás varias apps en CodePen, así que puedes regresar luego para actualizar tu portafolio.", "Hay varias buenas plantillas, pero para este desafío, tendrás que construir la página web de tu portafolio completamente por tu cuenta. Usar Bootstrap hará el trabajo mucho más fácil para ti.", "Ten en mente que CodePen.io ignora la función Window.open(), así que si quieres abrir alguna ventana usando jQuery, necesitarás utilizar como objetivo un elemento de ancla invisible como el siguiente: <a target='_blank'>.", "Recuerda utilizar Read-Search-Ask si te sientes atascado.",  "Cuando hayas terminado, pulsa el botón de "I've completed this challenge" e incluye un link a tu CodePen. Si programaste en pareja, debes incluir también el nombre de usuario de Free Code Camp de tu compañero.", "Si quieres retroalimentación inmediata de parte de tus compañeros campistas, pulsa este botón y pega el link de tu proyecto en CodePen.

Pulsa aquí y agrega tu link en el texto del tweet"   "Cuando hayas terminado, pulsa el botón de "I've completed this challenge" e incluye un link a tu CodePen. ", "Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiéndolo en nuestra Sala de chat para revisión de código. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)."  ], "isRequired": true, "challengeType": 3 } ]  }   No newline at end of file  }

[x] Get Set for our Front End Development Projects [x] Build a Personal Portfolio Webpage [x] Build a Random Quote Machine [x] Build a JavaScript Calculator [x] Build a Pomodoro Clock
Working on this one


Question: } } a, .input-group-addon, .challenge-instructions a, .challenge-instructions #MDN-links a { <del> color: #CCC; </del> <ins> color: #f8f8f8; </ins> } .fa-github-square { color: @brand-primary;

<!-- freeCodeCamp Issue Template --<!-- Please provide as much detail as possible for us to fix your issue --<!-- Remove any heading sections you did not fill out --<!-- NOTE: If your issue is CodePen Project / Test Suite related, please open it using the below URL instead --<!-- --<!-- Describe below when the issue happens and how to reproduce it --I love Night Mode when doing the challenges. However, I noticed that the contrast seemed a bit low. Running the WCAG Contrast Checker extension confirmed my belief. See screenshot below. Lightening up the foreground color would be beneficial to everyone. Thanks! <!-- Describe your workspace in which you are having issues--Browser Name, Version: Mozilla 52.0 Operating System: Windows 7 Mobile, Desktop, or Tablet: Desktop <!-- Add a screenshot of your issue --!
I'm happy to tackle this, if it's open! I just need to finish setting up my dev environment according to the contribution guidelines.
I have set up local FCC. I will be able to give it a shot by tonight unless hasn't done it already.
Hi, i have committed a . It passed WCAG luminosity as shown in the below screenshot. <img width="838" alt="screen shot 2017-03-21 at 10 41 47 pm" src=""
You beat me to it! This is an improvement, though. Thanks for making the site better.


Question: ```js const firstName = "Jessica"; <del> // returns 'a' </del> <ins> // returns "a" </ins> firstName[firstName.length - 1]; ```

We prefer to use double quotes for JavasScript string, so the following code examples should be updated to follow the convention:
This issue is open for contributions. The files that you should be updating are linked in the original post. We typically do not assign issues. Instead, we accept the most quality contribution followed by the one that is made first. Please make sure you read our as well as our , we prioritize contributors following the instructions in our guides. Join us in our or our if you need help contributing; our moderators will guide you through this. Happy contributing.


Question: } }, "react-monaco-editor": { <del> "version": "0.30.1", "resolved": "https://registry.npmjs.org/react-monaco-editor/-/react-monaco-editor-0.30.1.tgz", "integrity": "sha512-3u/omC0ZGISievdFTfhhR8L3iRxCrTh39aiD5ged82NGFo4CfExRWoj/QBDp/jXS/UhNaurUsrnR1r+SEmrjuw==", </del> <ins> "version": "0.31.0", "resolved": "https://registry.npmjs.org/react-monaco-editor/-/react-monaco-editor-0.31.0.tgz", "integrity": "sha512-hU7YXEV2oer1xrRw+wwRi1NuPfUvBbwcU5Ft1XTBdktFnsRd0eK3xgy82zis7B6PaK0mKeI/CP5GiWz+EPYDFg==", </ins> "requires": { "@types/react": "^16.9.2", "prop-types": "^15.7.2" }, "dependencies": { "@types/react": { <del> "version": "16.9.2", "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.2.tgz", "integrity": "sha512-jYP2LWwlh+FTqGd9v7ynUKZzjj98T8x7Yclz479QdRhHfuW9yQ+0jjnD31eXSXutmBpppj5PYNLYLRfnZJvcfg==", </del> <ins> "version": "16.9.9", "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.9.tgz", "integrity": "sha512-L+AudFJkDukk+ukInYvpoAPyJK5q1GanFOINOJnM0w6tUgITuWvJ4jyoBPFL7z4/L8hGLd+K/6xR5uUjXu0vVg==", </ins> "requires": { "@types/prop-types": "*", "csstype": "^2.2.0"

Describe the bug When viewing any challenge in Firefox, I can scroll in the instructions/theory part of the window, but the scrolling does not work in the code editor. I have tried with an external mouse as well as with the Trackpad in my Mac. In the same computer and with the same devices it works perfectly using Chrome. To Reproduce to any challenge. to scroll inside the code editor. does not work. Expected behavior It should scroll. Desktop: macOS 10.14.6 Mozilla Firefox 69.0.3 Additional context So far, to scroll in Firefox I have to click and drag the side scrolling bar in order to navigate the code. I think I'm only having this issue since the last redesign, but I may be wrong on this.
I've noticed this for quite a while - but I don't recall if it was present before the latest redesign.
I am also experiencing this problem as of the update. Windows 10 desktop Firefox 69.0.3 External mouse with a scroll wheel In order to scroll I have to find the very small and hard to see scroll bar inside the code editor and click+drag
Having the same issue as you Might take a dig in the code/inspector and see what's up.
It looks like a possible bug with the monaco editor (we are using monaco-editor": "^0.17.1") I confirmed the bug locally first and I then updated to the latest version of monaco and the scroll works again in Firefox. So it has been fixed. I'm just not sure how involved it is for us to update the editor?
Thanks for digging into this and finding the updates. I think we should be able to update monaco-editor itself which we have as a dep: But the issue right now is to confirm if react-monaco-editor is going to play along as well: I think I could not bump it last time I was trying to update it. Opening up for investigation and fix. A PR is most welcome, or any pointers are welcome as well.
I am also experiencing this problem after the update. MacOS 10.14.6 Firefox 69.0.3 Both external mouse with a scroll wheel and Macbook Pro trackpad cannot scroll the code window however Chrome and Safari browser does not have this problem.
I was able to update to both and .

I updated react-monaco to 0.18.1 and react-monaco-editor to 0.31.0, did a few challenges locally and didn't see any immediate issues from the editor update. A PR would just be a chore update to and package- correct?
Thanks for reporting, please use the voting feature instead of confirming further. We know this is a confirmed bug, more so in an underlying library that we have little control over. We are working on a solution. Keeping the thread free for solutions will help.
Yes please. You are the rockstar.


Question: "challengeEntryPoint": "telephoneCheck("555-555-5555");" }, { <del> "_id": "a202eed8fc186c8434cb6d61", "name": "Reverse a String", "difficulty": "1", "tests": [ "expect(reverseString('hello')).to.be.a('String');", "expect(reverseString('hello')).to.equal('olleh');", "expect(reverseString('Howdy')).to.equal('ydwoH');", "expect(reverseString('Greetings from Earth')).to.equal('htraE morf sgniteerG');" ], </del> <ins> "_id": "556138aff60341a09ed6c480", "name": "Inventory Update", "difficulty": "3.11", </ins> "description": [ <del> "Reverse the provided string.", "You may need to turn the string into an array before you can reverse it.", "Your result must be a string." </del> <ins> "Compare and update inventory stored in a 2d array against a second 2d array of a fresh delivery. Update current inventory item quantity, and if an item cannot be found, add the new item and quantity into the inventory array in alphabetical order." </ins> ], <del> "challengeEntryPoint": "reverseString('hello');", "challengeSeed": "function reverseString(str) {n  return str;rn}" }, { "_id": "a302f7aae1aa3152a5b413bc", "name": "Factorialize a Number", </del> <ins> "challengeEntryPoint": "// Example inventory listsrnvar curInv = [rn    [21, 'Bowling Ball'],rn    [2, 'Dirty Sock'],rn    [1, 'Hair pin'],rn    [5, 'Microphone']rn];rnrnvar newInv = [rn    [2, 'Hair Pin'],rn    [3, 'Half-Eaten Apple'],rn    [67, 'Bowling Ball'],rn    [7, 'Toothpaste']rn];rnrninventory(curInv, newInv);", "challengeSeed": "function inventory(arr1, arr2) {n    // All inventory must be accounted for or you're fired!rn    return arr1;rn}", </ins> "tests": [ <del> "expect(factorialize(5)).to.be.a("Number");", "expect(factorialize(5)).to.equal(120);", "expect(factorialize(10)).to.equal(3628800);", "expect(factorialize(20)).to.equal(2432902008176640000);" ], "difficulty": "1", "description": [ "Return the factorial of the provided integer.", "If the integer is represented with the letter n, a factorial is the product of all positive integers less than or equal to n.", "Factorials are often represented with the shorthand notation n!", "For example: 5! = 1 * 2 * 3 * 4 * 5 = 120f" ], "challengeSeed": "function factorialize(num) {n  return  num;rn}", "challengeEntryPoint": "factorialize(5);" }, { "_id": "a26cbbe9ad8655a977e1ceb5", "name": "Find the Longest Word in a String", "difficulty": "1", "description": [ "Return the length of the longest word in the provided sentence.", "Your response should be a number." ], "challengeEntryPoint": "findLongestWord('The quick brown fox jumped over the lazy dog');", "challengeSeed": "function findLongestWord(str) {n  return str.length;rn}", "tests": [ "expect(findLongestWord('The quick brown fox jumped over the lazy dog')).to.be.a('Number');", "expect(findLongestWord('The quick brown fox jumped over the lazy dog')).to.equal(6);", "expect(findLongestWord('May the force be with you')).to.equal(5);", "expect(findLongestWord('Google do a barrel roll')).to.equal(6);", "expect(findLongestWord('What is the average airspeed velocity of an unladen swallow')).to.equal(8);" ] }, { "_id": "a3566b1109230028080c9345", "name": "Sum All Numbers in a Range", "difficulty": "2", "description": [ "We'll pass you an array of two numbers. Return the sum those two numbers and all numbers between them.", "The lowest number will not always come first." ], "challengeEntryPoint": "sumAll([1, 4]);", "challengeSeed": "function sumAll(arr) {n  return(1);rn}", "tests": [ "expect(sumAll([1, 4])).to.be.a('Number');", "expect(sumAll([1, 4])).to.equal(10);", "expect(sumAll([4, 1])).to.equal(10);", "expect(sumAll([5, 10])).to.equal(45);", "expect(sumAll([10, 5])).to.equal(45);" ] }, { "_id": "ab6137d4e35944e21037b769", "name": "Title Case a Sentence", "difficulty": "1", "description": [ "Return the provided string with the first letter of each word capitalized.", "For the purpose of this exercise, you should also capitalize connecting words like 'the' and 'of'." ], "challengeEntryPoint": "titleCase("I'm a little tea pot")", "challengeSeed": "function titleCase(str) {n  return str;rn}", "tests": [ "expect(titleCase("I'm a little tea pot")).to.be.a('String');", "expect(titleCase("I'm a little tea pot")).to.equal("I'm A Little Tea Pot");", "expect(titleCase("sHoRt AnD sToUt")).to.equal("Short And Stout");", "expect(titleCase("HERE IS MY  HANDLE HERE IS MY SPOUT")).to.equal("Here Is My  Handle Here Is My Spout");" </del> <ins> "expect(inventory([[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair pin'], [5, 'Microphone']], [[2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [67, 'Bowling Ball'], [7, 'Toothpaste']])).to.be.a('array');", "assert.equal(inventory([[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair pin'], [5, 'Microphone']], [[2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [67, 'Bowling Ball'], [7, 'Toothpaste']]).length, 6);", "assert.deepEqual(inventory([[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair pin'], [5, 'Microphone']], [[2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [67, 'Bowling Ball'], [7, 'Toothpaste']]), [[88, 'Bowling Ball'], [2, 'Dirty Sock'], [3, 'Hair pin'], [3, 'Half-Eaten Apple'], [5, 'Microphone'], [7, 'Toothpaste']]);", "assert.deepEqual(inventory([[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair pin'], [5, 'Microphone']], []), [[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair pin'], [5, 'Microphone']]);", "assert.deepEqual(inventory([], [[2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [67, 'Bowling Ball'], [7, 'Toothpaste']]), [[2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [67, 'Bowling Ball'], [7, 'Toothpaste']]);", "assert.deepEqual(inventory([[0, 'Bowling Ball'], [0, 'Dirty Sock'], [0, 'Hair pin'], [0, 'Microphone']], [[1, 'Hair Pin'], [1, 'Half-Eaten Apple'], [1, 'Bowling Ball'], [1, 'Toothpaste']]), [[1, 'Bowling Ball'], [1, 'Dirty Sock'], [1, 'Hair pin'], [1, 'Half-Eaten Apple'], [1, 'Microphone'], [1, 'Toothpaste']]);" </ins> ] } ]

<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --The test requires a multi-line comment of the form . However, the test fails if additional ` characters are present at the beginning or the end of the text contained within the comment. Some examples : The regular expression for the corresponding test needs to be updated. Browser Name: Google Chrome Browser Version: 60+ Operating System: Ubuntu 18.04 !
Hi, I would like to have a go to fix this problem
That's good, please read .
Test fails if multiline style comment includes either / File: Line: 33 this regex is the problem

When I attempt to Run the tests for the code I submitted for Roman Numerals Converter, the page freezes and I cannot solve the issue until I clear the cashe of my browser. Help!
I have the same issue. My browser complains about a long running script and then bails out.
Ok, I figured this one out... if you use the solution in the Gritter chat, that solution will cause a never ending loop, because of the while expression (while numCopy 0 - which is always true btw). This never ending loop will freeze your browser. Moreover, as I lately discovered, the solution there only covers very few of the cases that we need to test to pass the Bonfire. So back to the drawing board, people!
Leaving this open as a bug for someone to fix the solution in the wiki to one that works with the new test cases.


Question: "Crea una función que acepte dos o más arreglos y que devuelva un arreglo conteniendo la diferenia simétrica entre ambos", "En Matemáticas, el término 'diferencia simétrica' se refiere a los elementos en dos conjuntos que están en el primer conjunto o en el segundo, pero no en ambos.", "Recuerda utilizar Read-Search-Ask si te sientes atascado. Intenta programar en pareja. Escribe tu propio código."  ], "titleIt": "Differenza simmetrica", "descriptionIt": [ "Crea una funzione che accetti due o più array e che ritorni un array contenente la <dfn>differenza simmetrica</dfn> (△ o ⊕) degli stessi.", "Dati due insiemi (per esempio l'insieme A = {1, 2, 3} e l'insieme B = {2, 3, 4}, il termine matematico "differenza simmetrica" di due insiemi è l'insieme degli elementi che sono in almeno uno dei due insiemi, ma non in entrambi (A △ B = C = {1, 4}). Per ogni differenza simmetrica aggiuntiva che fai (per esempio su un insieme D = {2, 3}), devi prendere l'insieme degli elementi che sono in almeno uno dei due insiemi ma non in entrambi (C △ D = {1, 4} △ {2, 3} = {1, 2, 3, 4}).", "Ricorda di usare Leggi-Cerca-Chiedi se rimani bloccato. Prova a programmare in coppia. Scrivi il codice da te."  ] }, {

Advanced Algorithm Scripting () Translate the challenge Advanced Algorithm Scripting in Italian
I'll be working on this


Question: # --description-- <del> Add `I accept the terms and conditions` text to the newly added label, then link the text `terms and conditions` to the following location: </del> <ins> Add the text `I accept the terms and conditions` immediately after the `input` element in the newly added label. Then link the text `terms and conditions` to the following location: </ins> ```md https://www.freecodecamp.org/news/terms-of-service/

The current instructions say: But they don't specifically say where the new text should be within the . If you add the text before the (with the anchor correctly to the text) then you get the following hint: This creates even more confusion since the anchor was correctly. I think these instructions are relying on the fact that the text for the radio buttons was after the and thus the assumption is that the text for the check box should also be after the . And I agree that usually the text for radio buttons/check boxes is placed after the , but this is not a requirement. Also, in step 26 when we have them add the text for the radio buttons, we explicitly say "immediately after the element", so it seems like this is important information to add. N/A Change the instructions to: I should have done better testing :slightlysmilingface: The tests don't care if there is a space between the and the text. We might also want to update the tests so it gives a better hint if they put the text before the . No response N/A No response
I like the proposed change in wording.
Please let me know if there are any other changes needed.
the issue is not marked as ready for contribution yet.
This issue has been around for a while and I'm still seeing it come up in the forums. Do we need any more discussion on this? Two things to fix in this PR: Update instructions to make it clear that the text comes after the Fix the test that is erroneously telling the user they need to add an anchor element when it is already there.
I don't think so, no. The requirements are nice and clear, thanks!


Question: "title": "Generate Random Fractions with JavaScript", "difficulty":"9.9827", "description":[  "Random numbers are useful for creating random behaviours and games.",   "Random numbers are useful for creating random behavior.",  "JavaScript has a Math.random() function that generates a random decimal number.", "Use Math.random() to get myFunction to return a random number." ],

Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible. "Random numbers are useful for creating random behaviours and games." May be more clear as: "Random numbers are useful for creating random behavior."


Question: tests: - text: quickCheck(["squash", "onions", "shallots"], "mushrooms") should return false testString: assert.strictEqual(quickCheck(['squash', 'onions', 'shallots'], 'mushrooms'), false, 'quickCheck(["squash", "onions", "shallots"], "mushrooms") should return false');  - text: quickCheck(["squash", "onions", "shallots"], "onions") should return true testString: assert.strictEqual(quickCheck(['squash', 'onions', 'shallots'], 'onions'), true, 'quickCheck(["squash", "onions", "shallots"], "onions") should return true');   - text: quickCheck(["onions", "squash", "shallots"], "onions") should return true testString: assert.strictEqual(quickCheck(['onions', 'squash', 'shallots'], 'onions'), true, 'quickCheck(["onions", "squash", "shallots"], "onions") should return true');  - text: quickCheck([3, 5, 9, 125, 45, 2], 125) should return true testString: assert.strictEqual(quickCheck([3, 5, 9, 125, 45, 2], 125), true, 'quickCheck([3, 5, 9, 125, 45, 2], 125) should return true'); - text: quickCheck([true, false, false], undefined) should return false

Describe your problem and how to reproduce it: For , the correct answer should be something like: But this code will also pass all the tests, even when it is incorrect: This can be solved by simply changing the order of the variables in the second test, so that is at index 0, thus disabling the incorrect answer, like this I'd be glad to contribute and fix this myself if the issue is confirmed and the solution approved. Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Chrome Browser Version: 73.0.3683.86 (Official Build) (64-bit) Operating System: macOS Sierra v10.12.5 If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box): Here's a screenshot taken after running all the tests. As you can see, all the tests passed, even when the answer is incorrect. !
Can I work on this?
Good catch! I can confirm the current tests do not test all the cases. I am fine with you implementing the change you suggest on a PR.
Since already offered to fix on a PR, I will leave it up to him to decide if he wants to move forward with the PR or is OK letting you create the PR.
Sorry. I was not aware of his PR. I will leave it up to him to decode.
Thanks for the confirmation! Actually this would be my first contribution, so I would really like to give it a shot. But if I run into problems, I'll let you know so you can contribute as well :)
No worries. Feel free to ping me if you run into problems. Happy contributing!


Question: }; }; <ins> const actRE = new RegExp(/act(...) is not supported in production builds/); </ins> const updateProxyConsole = (proxyLogger?: ProxyLogger) => (frameContext: Context) => { // window does not exist if the preview is hidden, so we have to check.

There are some modules ( e.g: module ) within the section of the course where, when the user submits their solution ( whether correct or incorrect ), then they end up with the following warning within the console: Since this warning is not relevant to the solution submitted by the user, I think it could make the user feel confused. In order to avoid any sort of ambiguity and to keep things as clear as possible, I believe when the user submits their solution and if their submitted solution is not correct ( partially or completely ), then they should only be getting relevant error messages printed onto the console which can help them in debugging their solution, or if their submitted solution is entirely correct, then they should be getting the following messages only ( within the console ): ! Device: Laptop OS: macOS 13.0.1 Browser: Chrome Version: 107.0.5304.110
I can see that the error message is pretty cryptic even though it happened somewhere along the stack trace. If you don't mind, can you comment your JSX element so that me and other people can paste the code immediately in the editor and see it for ourselves ?
Can you provide the path of this file.
If you want i can work on this issue. Can you assign this to me. I am expert in react but first timer in open source community. So apologize in advance if i am going out of way in asking this on the thread
Pretty sure that has been there forever. It looks to be caused by running tests with the production builds of React. Maybe we can just use the dev builds. Tested it briefly and it didn't seem to break anything, but I'm not sure what the reason for using the production builds is. Or maybe the error message can be silenced somehow.
Hey thanks for looking into this issue. It would be great if this error message could be silenced somehow or as you mentioned, if using dev builds solves this issue, then I think it would be a good idea to do so given that it doesn't break anything. Let me know what you think about it. Cheers!
I'm pretty sure I have seen this error on other React (maybe React/Redux) challenges as well. I'm not sure if it is just because the prod build is smaller/faster or what? I see no real harm in using the dev build and it would/should make the error go away.

But someone from the dev team will have to look at this and approve it. is using the dev build of React an option here?
I'm not entirely sure, tbh. Maybe something can provide insight on.
So, the problem is that we currently bundle react-dom-test-utils into the script that runs the tests, so changing the meta doesn't help us. However, once is in, we will have full control over the scripts that we import and can choose which build we want for the react lessons. I propose we revisit this issue once that's in main and experiment with development builds then.
I am interested to work on this issue. can anyone explain me more clearly what to do next?
Can I work on this?


Question: import { hardGoTo } from '../../../redux'; import { apiLocation } from '../../../../config/env.json'; <ins> import { gtagReportConversion } from '../../../analytics/gtag'; </ins> import './login.css'; const mapStateToProps = () => ({});

I can work on this. A little confused though, since it appears to be there already. Does the mission statement go here? Please provide instructions, thanks.


Question: All of the HTML and CSS for this project has been provided for you. <del> When you're ready to get started, use the `.getElementById()` method to get the input element with the id `number-input`, and store it in a variable called `numberInput`. Use the same method to get the button element with the id `convert-btn` and store it in a variable called `convertBtn`, and the `h2` element with the id `result` and store it in a variable called `result`. </del> <ins> When you're ready to get started, use the `.getElementById()` method to get the `input` element with the id `number-input`, and store it in a variable called `numberInput`. Use the same method to get the `button` element with the id `convert-btn` and store it in a variable called `convertBtn`, and the `output` element with the id `result` and store it in a variable called `result`. </ins> **NOTE**: This project will only convert positive numbers into binary.

In the last phrase, it is mentioned a element with , but only an element has : . Rectify to the following: No response . No response
Thanks for opening this issue. This looks like something that can be fixed by "first time" code contributors to this repository. Here are the files that you should be looking at to work on a fix: Change to in the markdown file. Please make sure you read , we prioritize contributors following the instructions in our guides. Join us in our chat room or the forum if you need help contributing, our moderators will guide you through this. Sometimes we may get more than one pull-requests. We typically accept the most quality contribution followed by the one that is made first. Happy contributing.
I think the backticks on the / can be dropped while changing this. Other elements mentioned in the paragraph are not backticked.
But the question is, shouldn't they be? I think they should, to be consistent with the rest of the curriculum. We use backticks with element types.
To be honest I'm not sure what's the current convention, when element type (button/input/output) itself is not actually used in code. This might be also the only project in JS curriculum explicitly naming them in description, instead of referring to them only via id.
Then I feel like the elements shouldn't be mentioned at all. If we mention the element type, I think the types should have backticks. But I guess I can see your point, and I'm not sure what the convention is here.


Question: --- <del> `ethical` </del> <ins> `security` </ins> ### --feedback-- <del> Related to good behavior and honesty. </del> <ins> Related to safety and unauthorized access. </ins> ---

The word "ethical" is never spoken, only "ethics". "Ethical standards" is an umbrella term. It would be difficult for a language learner to reach that conclusion without the word ever spoken in context. Edit: I'm not convinced that "ethical" is actually the correct word here. If you listen to the audio, at one point, James says "security standards". It would make a lot more sense if the required word was "security". It would also be an easy fix to change the required word to "security". As opposed to fixing the spoken words, which I doubt will happen. code: The exact required word to be spoken and used in context. No response Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] Forum:
I updated the issue. I think we might be requiring the wrong word here.
Yes, you are correct. It might make sense to advanced English speakers but no so much for beginners. Lets change: Linda learns that compliance helps maintain safety and _ standards To Meaning Safety becomes the blank word so security is not appearing twice as a blank.
It makes more sense to me with the word , as that is how it is used in the spoken sentence. The only time "standards" is spoken is with "security" before it, so when you reach that part of the fill in the blanks I think it is only logical to assume that the word would be "security"


Question: import HelpModal from '../components/HelpModal'; import ProjectToolPanel from '../project/Tool-Panel'; import ProjectForm from '../project/ProjectForm'; <del> import { createFormValidator, isValidURL, makeRequired, Form } from '../../../components/formHelpers'; </del> <ins> import { Form } from '../../../components/formHelpers'; </ins> import Spacer from '../../../components/helpers/Spacer'; <ins> import { ChallengeNode } from '../../../redux/propTypes'; import { isSignedInSelector } from '../../../redux'; </ins> import { backend } from '../../../../utils/challengeTypes'; import '../components/test-frame.css'; <del> // provided by redux form const reduxFormPropTypes = { fields: PropTypes.object, handleSubmit: PropTypes.func.isRequired, resetForm: PropTypes.func.isRequired, submitting: PropTypes.bool }; </del> const propTypes = { challengeMounted: PropTypes.func.isRequired, <ins> data: PropTypes.shape({ challengeNode: ChallengeNode }), </ins> description: PropTypes.string, executeChallenge: PropTypes.func.isRequired, id: PropTypes.string, initTests: PropTypes.func.isRequired, <ins> isSignedIn: PropTypes.bool, </ins> output: PropTypes.string, <ins> pageContext: PropTypes.shape({ challengeMeta: PropTypes.object }), </ins> tests: PropTypes.array, title: PropTypes.string, updateBackendFormValues: PropTypes.func.isRequired, updateChallengeMeta: PropTypes.func.isRequired, <del> updateProjectFormValues: PropTypes.func.isRequired, ...reduxFormPropTypes }; const fields = ['solution']; const fieldValidators = { solution: makeRequired(isValidURL) </del> <ins> updateProjectFormValues: PropTypes.func.isRequired </ins> }; const mapStateToProps = createSelector( consoleOutputSelector, challengeTestsSelector, <del> (output, tests) => ({ </del> <ins> isSignedInSelector, (output, tests, isSignedIn) => ({ </ins> tests, <del> output </del> <ins> output, isSignedIn </ins> }) );

Describe the bug Submitting the solution link as "" produces an error. Submitting "" does not. Whenever we submit a solution link "" it is appended with "/api/" so resultant solution gives "Not Found/Timeout error" and the same link submitted without "/" like "" gives solution as accepted. To Reproduce Steps to reproduce the behavior: to on 'solution input box' "https://freecodecamp-" solution gets accepted. "https://freecodecamp-" error Expected behavior This should be tackled as Chrome appends "/" by default to any domain URL you copy, so people who would copy URL from search bars will get URLs appended with "/" hence producing wrong results. This file shows the testString is directly appended with "/api" without checking if the input URL contains "/" at the end or not. Screenshots ! Desktop (please complete the following information): OS: Ubuntu 18 Browser: Google Chrome Version 73.0.3683.75
I am not having this problem - my project will pass the tests with or without the trailing https://fcc-manage-npm- and https://fcc-manage-npm- both pass for me in chrome Can you share a share a screen shot of the error?
Updated
hmm, it's strange that my project will give a good response when that string is appended but not yours https://fcc-manage-npm- - package as response https://freecodecamp- - not found as response not sure what is causing this - the only difference seems to be that I'm using glitch and you're using heroku in fact mine will work like this... https://fcc-manage-npm- so maybe how the two websites process a route or something? can they do that? glitch strips out the extra or something? weird Either way - I think a solution like you suggested would probably work - check if the submitted URL ends in a and remove it if it's there. This same problem probably occurs throughout the whole backend area all over the place.
Weird, would u check with an alternative hosting if the problem persists? If the problem persists the last solution would be stripping the las from input url
Did you try this Above is the actual link processed in the test with an appended , It gives a response with the same as it is shown in the screenshot I posted. So I guess the problem is with the routing of Heroku.


Question: import { bindActionCreators } from 'redux'; import { connect } from 'react-redux'; import { createSelector } from 'reselect'; <ins> import { Button } from 'react-bootstrap'; </ins> import { updateMyProfileUI } from '../redux'; import { userSelector } from '../../../redux'; <del> import { FullWidthRow } from '../../../helperComponents'; </del> <ins> import { FullWidthRow, Spacer } from '../../../helperComponents'; </ins> import SectionHeader from './SectionHeader.jsx'; import ToggleSetting from './ToggleSetting.jsx'; const mapStateToProps = createSelector( userSelector, <del> ({ profileUI = {} }) => ({ ...profileUI </del> <ins> user => ({ ...user.profileUI, user </ins> }) );

Once we've built the JSON we want to output, I believe we can just use Pug like this for the button to initiate the file download:


Question: ```yml tests: <del> - text: Su expresión regular debe coincidir con <code>one</code> criminal (" <code>C</code> ") en <code>"C"</code> testString: 'assert("C".match(reCriminals) && "C".match(reCriminals)[0] == "C", "Your regex should match <code>one</code> criminal ("<code>C</code>") in <code>"C"</code>");' - text: Su expresión regular debe coincidir con <code>two</code> delincuentes (" <code>CC</code> ") en <code>"CC"</code> testString: 'assert("CC".match(reCriminals) && "CC".match(reCriminals)[0] == "CC", "Your regex should match <code>two</code> criminals ("<code>CC</code>") in <code>"CC"</code>");' - text: Su expresión regular debe coincidir con <code>three</code> delincuentes (" <code>CCC</code> ") en <code>"P1P5P4CCCP2P6P3"</code> testString: 'assert("P1P5P4CCCP2P6P3".match(reCriminals) && "P1P5P4CCCP2P6P3".match(reCriminals)[0] == "CCC", "Your regex should match <code>three</code> criminals ("<code>CCC</code>") in <code>"P1P5P4CCCP2P6P3"</code>");' - text: Su expresión regular debe coincidir con <code>five</code> delincuentes (" <code>CCCCC</code> ") en <code>"P6P2P7P4P5CCCCCP3P1"</code> testString: 'assert("P6P2P7P4P5CCCCCP3P1".match(reCriminals) && "P6P2P7P4P5CCCCCP3P1".match(reCriminals)[0] == "CCCCC", "Your regex should match <code>five</code> criminals ("<code>CCCCC</code>") in <code>"P6P2P7P4P5CCCCCP3P1"</code>");' </del> <ins> - text: Su expresión regular debe coincidir con <code>one</code> criminal (<code>C</code> ) en <code>"C"</code> testString: 'assert("C".match(reCriminals) && "C".match(reCriminals)[0] == "C", "Your regex should match <code>one</code> criminal (<code>C</code>) in <code>"C"</code>");' - text: Su expresión regular debe coincidir con <code>two</code> delincuentes (<code>CC</code>) en <code>"CC"</code> testString: 'assert("CC".match(reCriminals) && "CC".match(reCriminals)[0] == "CC", "Your regex should match <code>two</code> criminals (<code>CC</code>) in <code>"CC"</code>");' - text: Su expresión regular debe coincidir con <code>three</code> delincuentes (<code>CCC</code>) en <code>"P1P5P4CCCP2P6P3"</code> testString: 'assert("P1P5P4CCCP2P6P3".match(reCriminals) && "P1P5P4CCCP2P6P3".match(reCriminals)[0] == "CCC", "Your regex should match <code>three</code> criminals (<code>CCC</code>) in <code>"P1P5P4CCCP2P6P3"</code>");' - text: Su expresión regular debe coincidir con <code>five</code> delincuentes (<code>CCCCC</code>) en <code>"P6P2P7P4P5CCCCCP3P1"</code> testString: 'assert("P6P2P7P4P5CCCCCP3P1".match(reCriminals) && "P6P2P7P4P5CCCCCP3P1".match(reCriminals)[0] == "CCCCC", "Your regex should match <code>five</code> criminals (<code>CCCCC</code>) in <code>"P6P2P7P4P5CCCCCP3P1"</code>");' </ins> - text: Tu expresión regular no debe coincidir con ningún criminal en <code>""</code> testString: 'assert(!reCriminals.test(""), "Your regex should not match any criminals in <code>""</code>");' - text: Su expresión regular no debe coincidir con ningún criminal en <code>"P1P2P3"</code> testString: 'assert(!reCriminals.test("P1P2P3"), "Your regex should not match any criminals in <code>"P1P2P3"</code>");' <del> - text: Su expresión regular debe coincidir con <code>fifty</code> delincuentes (" <code>CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC</code> ") en <code>"P2P1P5P4CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCP3"</code> . testString: 'assert("P2P1P5P4CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCP3".match(reCriminals) && "P2P1P5P4CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCP3".match(reCriminals)[0] == "CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC", "Your regex should match <code>fifty</code> criminals ("<code>CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC</code>") in <code>"P2P1P5P4CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCP3"</code>.");' </del> <ins> - text: Su expresión regular debe coincidir con <code>fifty</code> delincuentes (<code>CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC</code>) en <code>"P2P1P5P4CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCP3"</code> . testString: 'assert("P2P1P5P4CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCP3".match(reCriminals) && "P2P1P5P4CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCP3".match(reCriminals)[0] == "CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC", "Your regex should match <code>fifty</code> criminals (<code>CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC</code>) in <code>"P2P1P5P4CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCP3"</code>.");' </ins> ```

In some curriculum articles, some of the code-bits highlighted by the are enclosed by a pair of quotes which are not necessary. Since the tags already highlight code, there is no need for the quotes to be there. That is, instead of: It should be: One example can be found in PRs: [x] English [x] Chinese - No instances found [] Russian [x] Arabic [] Portuguese [x] Spanish
Do we have a list of such challenges? That would help so we know when to close this issue (i.e. all have been covered).
I do not have a list of these challenges a.t.m. In the P.R. from where this originated, has said something about there being other files where we had this, he might have a lead on it, otherwise a repo wide search for can be run
OK.
If you do a quick search of the repo to see how many files might be affected by this, then I will query the open PRs to check all existing open PRs which might have such changes.
I would like to start from . Kindly let me know May I start now to avoid file merge conflict. I checked for . There are 18 files that will be affected.
we can take care of the merge conflicts if you want to submit the PR. Make sure you're working from the latest commit of the freecodecamp master branch. Please try to limit the changes in this PR to only removing the quotes so it doesn't make conflict resolution more difficult. Thanks!
I think it's better to allow a first-time contributor to work on the issue. Please feel free to look through the other issues. There are many of them we could use your help on! In case this one is still not picked up in a few days, you can then work on this.
I was already working on this. I will look for issues also from now onwards.
Is this issue still on? If yes, can I help you?
This one already has an open PR (see above ).
Okay No problem!!
Is this issue closed ? I am a first time contributor and would like to work on it.
Not yet, only the PR for English language has been merged. Check with for what languages he is making a PR for
You can start with any of the language except English language.

I am not working as of now for any other language. It would be great if we allow first timer to work on this.
hello, I would like to do this as a first timer. Where should I start?
check with for what languages they are working on, you can pick up the other languages and use the search and replace functionality of your code editor to make changes as discussed above
Hi, I'm new to freecodecamp but I'm wondering if you guys still need help on this? If so, what languages should I work on? Thanks!
Hello, I'd like to help with this issue as well. Which language folders are available? Thanks!
Thanks for helping out with this! AFAIK, so far only . Since we haven't heard from and yet, you both are welcome to pick one language each from the available four (Arabic, Chinese, Portuguese and Spanish), and start working on the corresponding files. Considering that and asked first, we'll wait for them to claim the other two language versions if they're still interested. In case they (or aren't, you can then continue with these remaining versions too (if you prefer).
Thanks I'll volunteer to do the Spanish folder.
Thanks I'll take the Portuguese folder!
Hi, after taking a cursory look in /curriculum/challenges/portuguese, and searching for <code"<codestuff </code"</code", and &quot, I haven't found any examples of <code"<codestuff </code"</code", and the only places where <code"<codeor </code" </codepop up are in Tests, and in assert fields, where it's unrelated I think. Am I missing something? Sorry for the bother!
Hi Try searching making sure there is a space in between. I noticed there were a lot of false positives when I did my search. When I searched, I was able to find in the Portuguese folder at declare-the-doctype-of-an-html-
Thank you! I removed all the instances of , and I think that that may be all of the instances in the Portuguese files. Would it be possible for me to work on the other untaken languages as well, or should I wait on and to see if they are picking up Arabic/Chinese?

Guys, try searching for and separately
I made sure to search , , , , , , , and , all separately.
Do we still need help for Arabic/Chinese? I wouldn't mind picking up those as well!
Sure! Go ahead!
Hi are you doing both Arabic/Chinese? Do you mind if I do one of the folders?
Go for it! I'll take Chinese and you can have Arabic?
Thanks I'll move forward with the Arabic folder.
Hey, Would like to give a hand as its my first contribution. Where should i start? is the quote issue resolved or are there more languages where help is needed? Thanks in advance
- It appears you can choose between Spanish and Portuguese. If you have not contributed before, I suggest starting with and . If you have any questions, then ask in our .
Actually I think that all files currently are accounted for. Me and have created PR's for Portuguese/Spanish, and now we're working on Chinese/Arabic. I think Russian and English were already taken before us.
After looking for , , , , , , , and , I couldn't find any instances of any of these in the Chinese folder. Somebody else can verify if they wish, but as far as I've searched, I can't find anything in the Chinese folder specifically, even though they exist in my local (non-fixed) Arabic, Portuguese, Spanish, etc. folders, so I don't think a PR needs to be made for the Chinese folder specifically.
Hi, this will be my first contribution. I'm wondering if Chinese is still up for grab. If not, which one can I choose? Thanks.
It appears is already working on the Chinese version.
Alright, it seems like every one of them is taken. Let me know if any one of them needs help in the future. Thanks.
I've taken a look at the Chinese version, and it seems like the quotes are already removed. I won't be submitting a PR for it, so if you want to take a look and find something that I missed then feel free to make the PR yourself!
Had this been fixed in the Portuguese and Russian folders? Someone needs to have a look
Even if those languages were not translated, it is fine. We are no longer accepting translations for the current curriculum.

We do not need any further PRs for the the non-English curriculum files.
I see. Alright


Question: <ins> .certifications .btn { white-space: normal; } </ins>

!
Could you give a link to the page as then it might be easier to solve the issue?
This should be the case on the user's profile page. You can reproduce by setting the certificate keys to true in the user object.
I could work on this!
I am already working on it.
Thanks for letting me know!
a reasonable fix would be to give the grid that contains the profile a class and on the css, change the button under that class and have . you will end up with something like this. here it is on small and large screens <img width="681" alt="screen shot 2019-02-22 at 2 18 10 pm" src="https://user-"<img width="1095" alt="screen shot 2019-02-22 at 2 17 53 pm" src="https://user-"
Similar solution could be applied to these donate buttons probably. but the selectors should be very specific not to change the styling on other buttons in the platform. <img width="669" alt="screen shot 2019-02-23 at 2 09 14 pm" src="https://user-"<img width="502" alt="screen shot 2019-02-23 at 2 08 51 pm" src="https://user-"
Hey or Can you take this up? just updated us that he will be a bit busy with other things.
I'm on it


Question: padding: 4vw 0; } <ins> .map-ui .btn { min-height: 80px; } </ins> @media (min-width: 500px) { .landing-top p { font-size: 1.25rem;

Looking forward for reporting a security issue: Please report security issues by sending an email to instead of raising a GitHub issue. Describe the bug The heights of the SVG files on the landing page vary, which causes the certification chart to look inconsistent. To Reproduce <img width="946" alt="zoomfloatingvideowindowandLearntoCode—ForFree—CodingCoursesforBusyPeople" src="https://user-"Desktop (please complete the following information): OS: Mac Browser: Chrome Version: Version 88.0.4324.96 (Official Build) (x86_64)
Hi Quincy, I let know about this already.
in min height, so should take care of it.


Question: assert($('head').length === 1); ``` <del> You should have a one a self-closing `link` element. </del> <ins> You should have one self-closing `link` element. </ins> ```js const link = document.querySelectorAll('link');

as ieahleen mentioned in Crowdin, there are multiple files with typos in them. they say These hints should be changed to because they are testing if there is a single self-closing Please make sure you read , we prioritize contributors following the instructions in our guides. Join us in or if you need help contributing, our moderators will guide you through this. Sometimes we may get more than one pull requests. We typically accept the most quality contribution, followed by the one that is made first. Happy contributing.


Question: export const moveToTab = createAction(types.moveToTab); export const setEditorFocusability = createAction(types.setEditorFocusability); <ins> export const setAccessibilityMode = createAction(types.setAccessibilityMode); </ins> export const currentTabSelector = state => state[ns].currentTab; export const challengeFilesSelector = state => state[ns].challengeFiles;

Looking forward for reporting a security issue: Please report security issues by sending an email to instead of raising a Github issue. Describe the bug A clear and concise description of what the bug is. The Monaco editor contains features for accessibility, specifically a mode for screen reader users which helps in navigating and using the editor effectively. This feature, as of now, must be enabled at the start of each lesson, even after enabling it once at the beginning of the session. To Reproduce Steps to reproduce the behavior: to any lesson in the curriculum. the code editor, set focus to it. alt+f1 to show accessibility help for the editor, and choose to enable the screen reader mode the lesson, advance to the next, and repeat steps two and three Expected behavior A clear and concise description of what you expected to happen. The screen reader mode should have stayed enabled across lessons. Screenshots If applicable, add screenshots to help explain your problem. Desktop (please complete the following information): OS: [e.g. iOS] Windows Browser [e.g. chrome, safari] Chrome Version [e.g. 22] 69.0.3497.100 (Official Build) (64-bit) Smartphone (please complete the following information): Device: [e.g. iPhone6] OS: [e.g. iOS8.1] Browser [e.g. stock browser, safari] Version [e.g. 22] Additional context Add any other context about the problem here. Tested screen reader: NVDA version 2018.3.2 from
Hey, As a part of hacktoberfest, I would like to work on this issue. Can I expect mentorship on this?
I'm new on this too. But if you need help, I would like to work on this issue too.
Can you reproduce this issue?
A group of us are working on this issue for a class project in university. We aim to address this in the next couple of days. We will try and at least present the community with a first iteration of our proposed solution. Just a heads up. If the current developers have any advice or tips, feel free to contact me. Thank you. is the primary developer in the team, working alongside me.
Any updates on this ?
This looks to be fixed, the editor is focused on load.

Can you confirm that this is fixed If so, this can probably be closed.
I don't think it is fixed. It focuses on load by default, but I think that turning on the screen reader mode is separate from just focusing. I don't have a screen reader installed, but if I follow the steps above I keep having to re-enable that mode each time I go to a new challenge.
Sorry, I don’t think the editor should be focused on load, as that means the screen reader user most unfocus it, move back to the heading to read the challenge, then focus it again to write code. Also, I still have to enable accessibility mode on each challenge.
I see now. And I can say that the built in screen reader on osx doesn't do anything with the editor. Is this something we can control? Or is it just part of the monaco editor and we are at their mercy?
VoiceOver on MacOS is… not the best, sadly, when it comes to web apps. If possible, you can send technical info about this to <mailto: is Microsoft’s editor, which seems to be VSCode stripped down to the editor. Perhaps you could contact Microsoft and see if they could add a way to make accessibility states persistent across loads, if this isn’t possible already.
That is annoying. For now you should be able to focus the description by pressing escape (at the moment, it's still in a state of flux), but I'll see about making screen-reader mode something that persists between challenges.
Seeing as how this issue is beyond our control, should we close this and make a new issue about the editor being focused on load? You can feel free to email apple or microsoft if you want Thanks for the advice though.
no need to close this. I think I can fix it.
Yes, we can close this issue.
Quick update. Both the auto-focusing and the persistence of accessibility mode should be fixable. I think I'm about 90% of the way there, but for some reason it stops letting you toggle the accessibility support after a couple of toggles. This, obviously, isn't ideal, but most of the functionality is there.


Question: ```js const stat = document.querySelectorAll('.stat')[0]; <del> assert.equal(stat.innerText, 'XP: 0'); </del> <ins> assert.equal(stat.innerText.trimEnd(), 'XP: 0'); </ins> ``` You should add a `strong` element in your second `.stat` element.

I was helping a with in the new JS curriculum and they weren't able to pass the tests because of the way they formatted their answer. Here was their code We should allow for that code to pass because they got it right. Here are the current tests For all of the tests that use we should instead update it to use a regex solution with instead. That will make it possible for campers to submit answers with different spacing. All of the tests with the to make sure they have a or element should stay the same though. For those, interested in working on this issue, please read through the first. There will be no assignment for this issue. If you are interested in working on it, then you can submit a PR The following code should pass regardless of different formatting with spaces. No response Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] No response


Question: # --description-- <del> Now, uncomment your `caesar()` call. You'll see that your code raises a `TypeError`, because the `caesar` function is defined with two parameters (`message` and `offset`), therefore it expects to be called with two *arguments*. </del> <ins> Currently, your code raises a `TypeError`, because the `caesar` function is defined with two parameters (`message` and `offset`), therefore it expects to be called with two *arguments*. </ins> Calling `caesar()` without the required arguments stops the execution of the code.

In the Building a Cipher project, comment is first mentioned in step 51: But in step 59, we actually introduce comment and its syntax: In step 51, we introduce function parameters, so I think mentioning comment here would be a little overwhelming. I think the comment introduction should either be moved to an earlier challenge or kept in step 59. If we move the comment introduction to an earlier challenge, step 51 can be kept as-is. But if we keep comment introduction in step 59, we should update step 51. Instead of asking the users to comment out the code, I wonder if we could ask them to remove the line entirely (though the code is in step 50, so it's probably a little odd to immediately remove it in the next step).
This does seems to be out of sequence. I would suggest to not comment out in step 51 and let the exception be(the resolution is there in the coming steps). This part of the instruction can be updated from: to:
If we don't ask to comment out the function call in step 51 and tell the campers they will work on fixing the error in the next steps, it would be logic to address the error in the console () and require to pass the two positional arguments to the function call in step 52. But then the function will seem to work fine, although it's still using the and variable inside its body instead of the function parameters. The alternative is to ignore the in the console for step 52, and address it directly in step 53. For that we should simply keep the function call instead of commenting it out and there is no need to swap the step order. Honestly, I don't like particularly any of these options.


Question:
"
5 % 2 = 1 because
Math.floor(5 / 2) = 2 (Quotient)
2 * 2 = 4
5 - 4 = 1 (Remainder)
", "Usage
In mathematics, a number can be checked even or odd by checking the remainder of the division of the number by 2.", "
17 % 2 = 1 (17 is Odd)
48 % 2 = 0 (48 is Even)
",  "Note
The <dfn>remainder</dfn> operator is sometimes incorrectly refered to as  the "modulus" operator. It is very similar to modulus, but does not work properly with negative numbers.",   "Note
The <dfn>remainder</dfn> operator is sometimes incorrectly referred to as  the "modulus" operator. It is very similar to modulus, but does not work properly with negative numbers.",  "
Instructions
", "Set remainder equal to the remainder of 11 divided by 3 using the <dfn>remainder</dfn> (%) operator." ],

Challenge has an issue. User Agent is: <codeMozilla/5.0 (Macintosh; Intel Mac OS X ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36</code. Please describe how to reproduce this issue, and include links to screenshots if possible. The word refered should be written with 2 Rs: referred. !


Question: assert([...[...new __helpers.CSSHelp(document).getCSSRules('keyframes')].find(rule => rule?.name === 'wave')?.cssRules].some(css => css?.keyText === '40%')); ``` <ins> You should have 4 waypoints in your keyframe. ```js assert([...[...new __helpers.CSSHelp(document).getCSSRules('keyframes')].find(rule => rule?.name === 'wave')?.cssRules].length === 4); ``` </ins> # --seed-- ## --seed-contents--

Step 96Passed Give wave four waypoints starting at 10%, and incrementing by 10%. tests allow duplicate waypoints for the four required percentages. tests allow other waypoint values not specified in the instructions. wave { 10% { } 20% { } 10% { } 30% { } 10% { } 40% { } 10% { } 50% { } } When I read the instructions, I thought it said do four wave points starting at ten and add ten to each one. Once I failed. I calculated it to do each ten and add ten percent to each one after. I guess even though I did not read the instructions the way they were adviced I found a bug. I passed and when I went to next step it automatically fixed my mistake and removed the 50% also. No response Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] The instructions from what I read confused me to do four tens and add ten percent under each one. I was able to find the bug due to this so yay I am pleased to help. By doing a total of four I was able to add 50 percent, on the last one too. My suggestion to fix the sentence on instructions, would be to not say make four waves starting at ten. Instead maybe you could say make four waves start at 10 percent and then for the rest add ten percent to each one for a total of four waves only.
We should add new test with hint as following Here is the test If you would like to fix this issue, please make sure you read , we prioritize contributors following the instructions in our guides. Join us in or if you need help contributing, our prolific contributors will guide you through this.
Can I work on this ?
go for it. Edit: btw if you solve one of the two issue, leave the other for first timer.
This test should be at the last of the other tests right? I mean after completing the other tests. Checking for 4 wavepoints should be the last one right? like this : !

Good point , if it's earlier it would trigger before the other, and wouldn't provide coherent hints for different issues.
, I am a first-timer so I do not really know where to make these changes . Also do I need to add the logic using jest or can I just add it to the call-back function of the event listener of that button which submits the user input for that challenge. can i assist you ?
Im working on this. Find another issue.
I have made the changes (addition of code which is mentioned in the above screenshot) in this file : ! This should work now right?
yeah you can work since obviously you got it assigned to yourself first . I am just here to learn . I just want to get familiar with the workflow that's it .


Question: The `textarea` element acts like an `input` element of type `text`, but comes with the added benefit of being able to receive multi-line text, and an initial number of text rows and columns. <del> To allow users to register with a bio, add a `label` with the text `Provide a bio:` followed by a `textarea` element, which requires a closing tag. </del> <ins> Users will be able to register with a bio. Add a `label` with the text `Provide a bio:` at the end of the `fieldset`. Add a `textarea` element after the `label` element. Note that the `textarea` requires a closing tag. </ins> # --hints-- <del> You should add a `label` element within the third `fieldset`, after the existing `label` elements. </del> <ins> You should add a `label` element at the end of the third `fieldset`, after the existing `label` elements. </ins> ```js assert.exists(document.querySelector('fieldset:nth-child(3) > label:nth-child(4)'));

I've encountered this several times now in the forums. The test will only pass if the is at the end of the after all other inputs, but the instructions do not make this clear. Thus, campers are adding it at the beginning of the and although their HTML is correct, the test is not passing because they have it in the wrong spot. N/A Either clarify in the instructions that the must be at the bottom of the after all other inputs or remove the restriction as to where it is . No response N/A No response
I vote for adding clarifications, although I don't mind removing the restriction. It would be worried if this is the only challenge without these restrictions. here is the markdown file


Question: // The runPython helper is a shortcut for running python code with our // custom globals. const runPython = (pyCode: string) => <del> pyodide.runPython(pyCode, { globals }) as unknown; </del> <ins> pyodide!.runPython(pyCode, { globals }) as unknown; </ins> runPython(` import jscustom from jscustom import print

Pyodide can crash when adding or method to the class, while NOT trying to write invalid code. I'm mentioning intent, because it can be encountered when attempting to write correct code. ing instance of the class. or method to the class. On each key pressed, code will execute, including the newly written method. So when we are writing the method: Then starting writing inside of the brackets: . Code will be execute also when it's . That's when it will crash hard: Further changes to code will bring up in browser's console: With example challenge to the at the bottom of code. to class definition, add boilerplate: writing between brackets: on the right crashes at the point when it's . Ideally omitting the crashing part. After the crash window needs to be reloaded to make pyodide on the right work again. Tests still appear to work correctly. Recursive function going into maximum call stack size exceeded does not crash pyodide. I've tested example class from above on , it does not crash pyodide.


Question: frameContext.window.console.error = function proxyWarn( ...args: string[] ) { <del> proxyLogger(args.map((arg: string) => utilsFormat(arg)).join(' ')); </del> <ins> if (args.every(arg => !actRE.test(arg))) { proxyLogger(args.map((arg: string) => utilsFormat(arg)).join(' ')); } </ins> return oldError(...(args as [])); }; }

There are some modules ( e.g: module ) within the section of the course where, when the user submits their solution ( whether correct or incorrect ), then they end up with the following warning within the console: Since this warning is not relevant to the solution submitted by the user, I think it could make the user feel confused. In order to avoid any sort of ambiguity and to keep things as clear as possible, I believe when the user submits their solution and if their submitted solution is not correct ( partially or completely ), then they should only be getting relevant error messages printed onto the console which can help them in debugging their solution, or if their submitted solution is entirely correct, then they should be getting the following messages only ( within the console ): ! Device: Laptop OS: macOS 13.0.1 Browser: Chrome Version: 107.0.5304.110
I can see that the error message is pretty cryptic even though it happened somewhere along the stack trace. If you don't mind, can you comment your JSX element so that me and other people can paste the code immediately in the editor and see it for ourselves ?
Can you provide the path of this file.
If you want i can work on this issue. Can you assign this to me. I am expert in react but first timer in open source community. So apologize in advance if i am going out of way in asking this on the thread
Pretty sure that has been there forever. It looks to be caused by running tests with the production builds of React. Maybe we can just use the dev builds. Tested it briefly and it didn't seem to break anything, but I'm not sure what the reason for using the production builds is. Or maybe the error message can be silenced somehow.
Hey thanks for looking into this issue. It would be great if this error message could be silenced somehow or as you mentioned, if using dev builds solves this issue, then I think it would be a good idea to do so given that it doesn't break anything. Let me know what you think about it. Cheers!
I'm pretty sure I have seen this error on other React (maybe React/Redux) challenges as well. I'm not sure if it is just because the prod build is smaller/faster or what? I see no real harm in using the dev build and it would/should make the error go away.

But someone from the dev team will have to look at this and approve it. is using the dev build of React an option here?
I'm not entirely sure, tbh. Maybe something can provide insight on.
So, the problem is that we currently bundle react-dom-test-utils into the script that runs the tests, so changing the meta doesn't help us. However, once is in, we will have full control over the scripts that we import and can choose which build we want for the react lessons. I propose we revisit this issue once that's in main and experiment with development builds then.
I am interested to work on this issue. can anyone explain me more clearly what to do next?
Can I work on this?


Question: }, [actionTypes.storedCodeFound]: (state, { payload }) => ({ ...state, <del> challengeFiles: payload </del> <ins> challengeFiles: state.challengeFiles.length ? mergeChallengeFiles(state.challengeFiles, payload) : payload </ins> }), [actionTypes.initTests]: (state, { payload }) => ({ ...state,

During development adding or modifying the head or tail code ( and ) don't seem to be updated in the challenge. Tested locally and on gitpod. Steps to reproduce the behavior: /modify the or in challenge. For example one of the steps in the JS curriculum. I was adding function and variables to it, and then was attempting to use them in tests. and wait for challenge to be updated. () the challenge page, or visit it for the first time. running tests, referencing the function/variables from head/tail code, there will be reference errors. Changing head or tail code, should update the challenge to use it. Login status don't seem to affect issue. During changing the code, thinking I might do something incorrectly, there were handful times when challenge was updated with the head/tail code. Not sure what was the exact reason. What makes it stranger is stopping client develop and starting again, is not necessarily solving the problem. At some point I thought that's working to get challenge fully updated, but right now that doesn't seem to work.
I might have seen this as well. I remember trying to save a regex in to use in multiple tests, and it didn't seem to work. Kind of just thought I was using it incorrectly, but maybe this was the issue.
Thanks for the detailed investigation of another tricky bug. It was another example where saved code messes things up. They're always a pain to debug because everyone sees something different, depending on whether or not they have something saved. Hopefully this is the last of them!
What's the most throwing off, that wasn't even code saved manually!
Weird. Is there nothing in your local storage?
Hmm, well there is after running tests. That must have been the point when saving mishap happened.
Oh, that's right. No mystery beyond "how did I forget this?" :face_exhaling:


Question: "challengeType": 0, "nameEs": "Elige un mismo elemento con múltiples selectores jQuery", "descriptionEs": [  "Ahora ya sabes tres formas de seleccionar elementos: por tipo: $("button"), por clase: $(".btn"), y por identificación $("#target1"). ",   "Ahora ya sabes tres formas de seleccionar elementos: por tipo $("button"), por clase $(".btn"), y por identificación $("#target1"). ",  "Aunque es posible agregar varias clases en una sola llamada a .addClass(), vamos a añadirlas al mismo elemento de tres maneras diferentes.",  "Usa cada uno de los selectores jQuery vistos y la función addClass():", "Agrega la clase animated a todos los elementos con tipo button.", "Agrega la clase shake a todos los botones con clase .btn.", "Agrega la clase btn-primary al botón con identificación #target1."   "Usa cada uno de los selectores jQuery vistos y la función addClass() para:", "Agregar la clase animated a todos los elementos con tipo button.", "Agregar la clase shake a todos los botones con clase .btn.", "Agregar la clase btn-primary al botón con identificación #target1."  ] }, {

[x] Learn how Script Tags and Document Ready Work [x] Target HTML Elements with Selectors Using jQuery [x] Target Elements by Class Using jQuery [x] Target Elements by ID Using jQuery [x] Delete your jQuery Functions [x] Target the same element with multiple jQuery Selectors [x] Remove Classes from an element with jQuery [x] Change the CSS of an Element Using jQuery [x] Disable an Element Using jQuery [x] Change Text Inside an Element Using jQuery [x] Remove an Element Using jQuery [x] Use appendTo to Move Elements with jQuery [x] Clone an Element Using jQuery [x] Target the Parent of an Element Using jQuery [x] Target the Children of an Element Using jQuery [x] Target a Specific Child of an Element Using jQuery [x] Target Even Numbered Elements Using jQuery [x] Use jQuery to Modify the Entire Page
Checking