jiebi/CodeConvo huggingface dataset:
Change:
```yml tests: - text: Traditional function expression should not be used. <del> testString: getUserInput => assert(!getUserInput('index').match(/function/)); </del> <ins> testString: getUserInput => assert(!removeJSComments(code).match(/function/)); </ins> - text: <code>setGear</code> should be a declarative function. <del> testString: getUserInput => assert(typeof bicycle.setGear === 'function' && getUserInput('index').match(/setGears*(.+)s*{/)); </del> <ins> testString: assert(typeof bicycle.setGear === 'function' && code.match(/setGears*(.+)s*{/)); </ins> - text: <code>bicycle.setGear(48)</code> should change the <code>gear</code> value to 48. testString: assert((new bicycle.setGear(48)).gear === 48);

Discussion:
<!-- 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: I commented out the code and then followed the new syntax for the challenge, but because the commented out code had normal function declaration it didn't pass. Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Google Chrome Operating System: Mac OS High Sierra If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box): // change code below this line const bicycle = { gear: 2, setGear(newGear) { "use strict" = newGear } } / const bicycle = { gear: 2, setGear: function(newGear) { "use strict"; = newGear; } }; // change code above this line bicycle.setGear(3); (); /
Hi, We used regex to match "function" keyword in the code but this instance can be fixed. I'll take a stab at it.
I think this issue occurs with a lot of the challenges. For an example, and Can a statement just be left in the description saying to not use the keyword even as a comment?
A better way is how we solved other such problems. We stripped all the comments out with a regular expression and then validated the user did not use what they were not supposed to. I just created PR to fixed this issue,
Change:
console.log(obj); ``` <del> The `obj.review` and `obj.newProp` assignments will result in errors, and the console will display the value `{ name: "FreeCodeCamp", review: "Awesome" }`. </del> <ins> The `obj.review` and `obj.newProp` assignments will result in errors, because our editor runs in strict mode by default, and the console will display the value `{ name: "FreeCodeCamp", review: "Awesome" }`. </ins> # --instructions--

Discussion:
At the top, the challenge says, " Any attempt at changing the object will be rejected without an error." A few lines later it says, "The and obj.newProp assignments will result in errors". This seems to be conflicting information - will there be an error or not? Maybe the 2nd part should say "The and obj.newProp assignments will be rejected". !
Oddly, when I run the tests I can see an error in the log: [TypeError: Cannot assign to read only property 'PI' of object '#<Object'] But when I run the same code in jsFiddle there is no error in the console. Update: When I add "use strict" in jsFiddle I get an error. This challenge should definitely mention that you only get an error in strict mode! One of the previous challenges about "let" and "const" mention strict mode briefly, but it might be good to explain strict mode more. This page was helpful:
I do agree that some clarification here would be beneficial. Possibly changing that first line to `Any attempt at changing the object will be rejected, with an error thrown if the script is running in strict mode. And the second line being Thoughts?
That seems like a good solution Nich, I'll put a help wanted label on it!
Change:
```js const borderBottom = new __helpers.CSSHelp(document).getStyle('fieldset:last-of-type')?.borderBottom; <del> assert(borderBottom === 'none' || borderBottom === 'medium none'); </del> <ins> assert(borderBottom === 'none' || borderBottom === 'medium none' || borderBottom === 'medium'); </ins> ``` # --seed--

Discussion:
I've come across two forum posts from Safari users in the past few days saying that they can't pass step 47 even though their CSS is correct. Based on the hint they are getting, the test that is not passing is: I'm wondering if Safari has recently changed the string being returned for the border properties when set to ? I don't have a mac so I can't test this for myself. Opening this issue with the hopes that a Safari user can figure out what is going on here. Should be tested on a very recent version of Safari. This is the correct CSS but it is apparently not passing for Safari users. Correct CSS should pass. No response For both posters, user agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X ) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.4 Safari/605.1.15 No response
Change:
} </style> <del> <img src="https://s3.amazonaws.com/freecodecamp/FCCStickers-CamperBot200x200.jpg" alt="freeCodeCamp sticker that says 'Because CamperBot Cares'"> </del> <ins> <img src="https://cdn.freecodecamp.org/curriculum/responsive-web-design-principles/FCCStickers-CamperBot200x200.jpg" alt="freeCodeCamp sticker that says 'Because CamperBot Cares'"> </ins> ```

Discussion:
We need to replace all images and audio samples for the legacy content with the ones that were just to our freeCodeCamp cdn. Here are all of the files that will need to be updated Here are all of the new asset links
Change:
```js assert.strictEqual( (function () { <del> bob.setFullName('Haskell Curry'); return bob.getLastName(); </del> <ins> _test_bob.setFullName('Haskell Curry'); return _test_bob.getLastName(); </ins> })(), 'Curry' );

Discussion:
A user can fail with correct code because the tests secretly rely upon global variables accessible to the user. This code fails because the user has the correct solution but deleted the instantiation of the object. Tests should instantiate any data they need. We should update the seed code to We should then add and modify the test suite to use instead of . No response All No response
Hello, Just to clarify, did you want to add in the user code block? Because I noticed when I attempted to reproduce the bug you encountered that two test cases still passed, despite not being initialized in the user's code. I checked the lesson's markdown file and found out that those two test cases did have their own initialized. I was thinking of adding to all the test cases instead. For reference, here's the code for one of the test cases that still passed, despite the bug.
Those tests initiate their own values so they are fine. I'm talking about the tests that fail if users modify their seed code to not have the object initialization. The new variable would go into a new --after-user-code-- part; that's not currently present. Just adding this new variable inside of the seed creates the exact same problem. Note - this issue isn't marked as ready for contributions yet. Maybe we should review if the tests logic too to see if they are independent
Opening this up for contribution.
Hi assign this issue for branch bugfix/. I have resolved it, need to create PR for same
We don't assign issues. The first PR that fully covers the issue will be accepted.
Hi ok !! I have raised PR . thanks for reply.
Change:
isModalShowing = !isModalShowing; if (isModalShowing) { <del> rulesBtn.textContent = "Hide Rules"; </del> <ins> rulesBtn.textContent = "Hide rules"; </ins> rulesContainer.style.display = "block"; } else { <del> rulesBtn.textContent = "Show Rules"; </del> <ins> rulesBtn.textContent = "Show rules"; </ins> rulesContainer.style.display = "none"; } });

Discussion:
Initial text of the button is . After step clicking button is expected to change text to , capitalizing the second word. Clicking it again is expected to change text to . Which is too differing from initial capitalization. n/a Capitalization should be consistent throughout the project. Either Show rules and Hide rules; or Show Rules and Hide Rules. No response n/a No response
We will do this option
Change:
"nameEs": "Usa appendTo para mover elementos con jQuery", "descriptionEs": [ "Ahora intentemos mover elementos de un <code>div</code> a otro.", <del> "jQuery tiene una función llamada <code>appendTo()</code> que le permite seleccionar elementos HTML y anexarlos a otro elemento.", </del> <ins> "jQuery tiene una función llamada <code>appendTo()</code> que te permite seleccionar elementos HTML y anexarlos a otro elemento.", </ins> "Por ejemplo, si quisiéramos mover <code>target4</code> de nuestro pozo (<em>well</em>) derecho a nuestro pozo izquierdo, usaríamos:", "<code>$("#target4").appendTo("#left-well");</code>", "Mueve tu elemento <code>target2</code> de tu <code>left-well</code> a tu <code>right-well</code>."

Discussion:
[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
Change:
} pairedWith = pairedWith.pop(); <del> //debug('This is paired with', Object.keys(pairedWith)); debug('This is paired with's uncompleted bonfires array', pairedWith.uncompletedBonfires); </del> index = pairedWith.uncompletedBonfires.indexOf(bonfireHash); if (index > -1) { pairedWith.uncompletedBonfires.splice(index,1)

Discussion:
<!-- 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.
Change:
assert.match(afterCalculateTotal, /consts+taxs*=/); ``` <del> Assign the value of calling your new `.calculateTaxes()` method, passing `subTotal` as the argument, to the `tax` variable. </del> <ins> Assign the value of calling your new `.calculateTaxes()` method, passing `subTotal` as the argument, to the `tax` variable. Remember to use the `this` keyword. </ins> ```js const afterCalculateTotal = code.split('calculateTotal')[1];

Discussion:
When working through the , mentions the following: And when passing the following solution: This hint shows up: This doesn't pass because is expecting the following: I think adding the hint "Remember to use the keyword." is a valid hint, just like in when the keyword is not in the solution. It may be repetitive, but I think the user should be informed for this possible mistake. It's already in other steps anyway. When passing the incorrect code from the above, add the "Remember to use the keyword." hint and validation. No response Device: Laptop OS: macOS 13.6.6 Browser: Chrome Version: 124 No response
We can open this up to since this is a small change This has been opened for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors. 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 Change the last hint to be the following Happy coding
I can do it!
Change:
Your new `div` should be empty. ```js <del> assert.equal(document.querySelector('.container > div')?.innerHTML, ''); </del> <ins> assert.equal(document.querySelector('.container > div')?.innerHTML.trim(), ''); </ins> ``` # --seed--

Discussion:
This step for checking an empty div element is to strict. This answer should be valid but fails the current test The tests only pass with this answer which is to restrictive The last test here needs to be updated to make it account of spacing. Probably using with a regex will be better then here Please read through the first We do not assign issues. If you are interested in working on this, please fix the test mentioned and create a PR Here is the file you will need to change Happy coding! This answer should be valid but fails the current test This answer should pass the tests 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
Change:
], "tests": [ "assert(editor.match(/$(.*button/g), 'Use the <code>$&#40"button"&#41</code> selector.')", <del> "assert(editor.match(/$(.*.btn/g), 'Use the <code>$&#40".btn"&#41</code> selector.')", </del> <ins> "assert(editor.match(/$(.*.btn/g), 'Use the <code>$&#40".btn"&#41</code> selector.')", </ins> "assert(editor.match(/$(.*#target1/g), 'Use the <code>$&#40"#target1"&#41</code> selector.')", "assert(editor.match(/addClass/g) && editor.match(/addClass/g).length > 2, 'Only add one class with each of your three selectors.')", "assert($("#target1").hasClass("animated") && $("#target1").hasClass("shake") && $("#target1").hasClass("btn-primary"), 'Your <code>#target1</code> element should have the classes <code>animated</code>&#130; <code>shake</code> and <code>btn-primary</code>.')",

Discussion:
Challenge has an issue. With this code It validate the task "Use the (".btn").
Created PR
Change:
].concat(trusted), frameSrc: [ '*.gitter.im', <ins> '*.gitter.im https:', </ins> '*.vimeo.com', '*.twitter.com', '*.rafflecopter.com',

Discussion:
Challenge has an issue. User Agent is: <codeMozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36</code. Please describe how to reproduce this issue, and include links to screenshots if possible. My code:
methods are case sensitive. should be is a great place for questions like this
thanks for the issue but if you get stuck or have questions with a challenge in the future, please first ask questions to the . What has suggested is correct. Happy coding!
I've tried it several times, making sure code was acurate... there must be another problem
Sorry about that but no one was answering me in the help room
no worries. Yeah, sometimes the Help Rooms are pretty busy and getting help is difficult. Please be patient. There are many people in there that are willing to help. You can always tag me there and I get help you out when I can
Change:
--- id: 56bbb991ad1ed5201cd392cc <del> title: Manipulate Arrays With pop() </del> <ins> title: Manipulate Arrays With pop Method </ins> challengeType: 1 videoUrl: 'https://scrimba.com/c/cRbVZAB' forumTopicId: 18236

Discussion:
Describe the bug Having special character in the slug, title, or heading of the challenges lead to broken structure as shown in the image below. Originally reported by ! These challenges are the translation of these. ! Although we can not add them in the Arabic translation, this is a fix to the side effect, because Arabic isn't the only RTL language with translation efforts. I think it's better to not include special characters in the heading, if they aren't wrapped in spaced, example 'the Logical And Operator &&'. So I suggest two solutions: Delete special character, if they aren't wrapped around spaces, like change "push()" to "push". Add code block around functions and methods, to be something like .
Would it be acceptable to spell these out a little more? Instead of We could do Not only do we get rid of the special characters but it possibly makes it a little clearer for people listening to the page.
In translation, that's perfectly fine . Good call.
Change:
<Col sm={10} smOffset={1} xs={12}> <Spacer /> <h1 className='text-center big-heading'> <del> {name ? 'Welcome back ' + name : 'Welcome to freeCodeCamp.org'} </del> <ins> {name ? 'Welcome back, ' + name + '.' : 'Welcome to freeCodeCamp.org'} </ins> </h1> </Col> </Row>

Discussion:
We should make this more grammatically correct by adding a comma and space before the name, and a period after it. For example: Welcome back, Quincy Larson. <img width="1405" alt="Learn_freeCodeCamp_org" src="https://user-"
Change:
], "tests": [ "assert($("body").css("background-color") === "rgb(0, 0, 255)", 'Give your <code>body</code> element the <code>background-color</code> of blue.')", <del> "assert(editor.match(/#0000FF/g) && editor.match(/#0000FF/g).length > 0, 'Use the <code>hex code</code> for the color blue instead of the word <code>blue</code>. For example <code>body { color&#58; #0000FF; }</code>.')" </del> <ins> "assert(editor.match(/#0000FF/ig) && editor.match(/#0000FF/ig).length > 0, 'Use the <code>hex code</code> for the color blue instead of the word <code>blue</code>. For example <code>body { color&#58; #0000FF; }</code>.')" </ins> ], "challengeSeed": [ "<style>",

Discussion:
! Same with the other waypoints that ask for a hex code that includes alpha chars.
Green worked fine.. blue has case issue.
Change:
import { tap, mapTo } from 'rxjs/operators'; import { transformEditorLink } from '../utils'; import envData from '../../../../../config/env.json'; <ins> import i18next from 'i18next'; </ins> const { forumLocation } = envData;

Discussion:
We want to localize the Ask-To-Help template that pre-fills the post on the forum. ! The above button which takes you to the forum should render this template: ! In the localized version instead.
Should be able to tackle this today, I think.
Sure. Not a high priority, so take your time.
Change:
Finally, you need to make the `#output` element visible so the user can see your text. Your `output` variable is an Element, which has a `classList` property. This property has a `.remove()` method, which accepts a string representing the class to remove from the element. <del> Use the `.remove()` method of the `output` variable's `classList` property to remove the `hide` class. Don't forget to place the word `hide` inside quotes. </del> <ins> ```js const paragraphElement = document.getElementById('paragraph'); paragraphElement.classList.remove('hide'); ``` Use the `.remove()` method of the `output` variable's `classList` property to remove the `hide` class. Don't forget to place the word `hide` inside quotes. </ins> # --hints--

Discussion:
We should add a code example for the remove method in step 85. js const paragraphElement = document.getElementById('paragraph'); ('hide'); ` 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
This has been opened for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors. 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 Happy coding
Can we make this a issue?
Normally this would be a first timers only issue. But I already opened a tons of those earlier, that are still up for grabs. So I decided to make this one help wanted, to open it up to more people. Plus we still have those pretty earlier on that made one contribution but are still looking for easier issues to keep contributing.
Change:
You should have a condition that checks if the left key was pressed and if `isCheckpointCollisionDetectionActive` is true. ```js <del> assert.match(code, /ifs*(s*keys.rightKey.presseds*&&s*isCheckpointCollisionDetectionActives*)s*{s*platforms.forEach(s*((s*platforms*)|platform)s*=>s*{s*platform.position.xs*-=s*5s*;s*}s*)s*;?s*}s*elses+ifs*(s*keys.leftKey.presseds*&&s*isCheckpointCollisionDetectionActives*)s*{.*}s*)s*;?/s); </del> <ins> assert.match(code, /ifs*(((s*keys.rightKey.presseds*&&s*isCheckpointCollisionDetectionActives*)|(s*isCheckpointCollisionDetectionActives*&&s*keys.rightKey.presseds*)))s*{s*platforms.forEach(s*((s*platforms*)|platform)s*=>s*{s*platform.position.xs*-=s*5s*;s*}s*)s*;?s*}s*elses+ifs*(((s*keys.leftKey.presseds*&&s*isCheckpointCollisionDetectionActives*)|(s*isCheckpointCollisionDetectionActives*&&s*keys.leftKey.presseds*)))s*{.*}s*)s*;?/s); </ins> ```

Discussion:
step 78 of the platformer game project wants the user to type: but if we type the checks in reverse like: It is not accepted. Stumbled on this one because to me writing the long variable name first is easier because I copy and paste it directly from the step and then I spend a little longer looking up how to tell the right key is pressed so I put that second. Since the order of conditions is not specified though in the step, the check should not be so picky. (see above) less strict checking when the order of comparisons in the if makes no difference to the result (or please specify that order matters in the instructions or the hint) No response N/A please note that step 80 has the same issue as well:
Change:
assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')?.length === 3); ``` <del> A `span` element should wrap the text `Sodium 360mg`. </del> <ins> A `span` element should wrap the text `Sodium 160mg`. </ins> ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.firstElementChild?.innerText?.match(/Sodium[s|n]160mg/));

Discussion:
The hint text for one of the tests in step 54 of the Learn Typography By Building a Nutrition Label project has a minor typo. This typo isn't visible unless a learner fails a specific test. The hint text currently reads "A element should wrap the text ". It should be updated to "A element should wrap the text " to match the instructions for this step, and the test itself. This would be a great first PR for new contributors.
I will be working on it.
why cloning the repo is throwing errors? I have been trying for 52 minutes
Add Newly generated SSH key from your device to your github account then clone
The problem is not with SSH key as half of the repo gets cloned and other gets skipped or deleted. The repo is too large to get cloned, I tried increasing buffer size but it didn't worked. Have you tried cloning it? Cloning depth wise might help but problem could be different if it is only appearing in my machine.
I just forked the main branch of the repository on my account and then git cloned that repository on to my local machine.