jiebi/CodeConvo huggingface dataset:
Change:
# --description-- <del> As a reminder, this project is being built upon the following starter project on ,<a href="https://replit.com/github/freeCodeCamp/boilerplate-mochachai" target="_blank" rel="noopener noreferrer nofollow">Replit</a>  or cloned from <a href="https://github.com/freeCodeCamp/boilerplate-mochachai/" target="_blank" rel="noopener noreferrer nofollow">GitHub</a>. </del> <ins> As a reminder, this project is being built upon the following starter project on <a href="https://replit.com/github/freeCodeCamp/boilerplate-mochachai" target="_blank" rel="noopener noreferrer nofollow">Replit</a>  or cloned from <a href="https://github.com/freeCodeCamp/boilerplate-mochachai/" target="_blank" rel="noopener noreferrer nofollow">GitHub</a>. </ins> `deepEqual()` asserts that two objects are deep equal.

Discussion:
Just transcribing issues from crowdin. In this line: There is an extra comma before the anchor element that has to be removed. In this line: There is an incorrect use of parenthesis. It should become 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: List of files: Please make sure you read 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. Sometimes we may get more than one pull request. We typically accept the most quality contribution followed by the one that is made first. Happy contributing.
Hey, I would like to work on this.
Change:
}) { const renderCertShowWithUsername = curry(renderCertShow)(username); return ( <del> <FullWidthRow> </del> <ins> <FullWidthRow className='certifications'> </ins> <h2 className='text-center'>freeCodeCamp Certifications</h2> <br /> {hasModernCert ? (

Discussion:
!
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
Change:
import { isSignedInSelector, currentChallengeIdSelector, <ins> openDonationModal, showDonationSelector, </ins> updateComplete, <del> updateFailed </del> <ins> updateFailed, userSelector </ins> } from '../../../redux'; import { post } from '../../../utils/ajax';

Discussion:
Donate modal is rendered/animated twice when invoked
Steps to reproduce. Complete at least 9 challenges. See modal once per session.
alternatively, change this line to true and get the modal after completion of each challenge.
Just in case someone tackle this before I get back to it. it seems like the app gets updated after the donate modal is up. so that might be causing the flashing. redux devtools actions order: <img width="338" alt="screen shot 2019-02-22 at 6 46 38 pm" src="https://user-"devtoolds error: <img width="642" alt="screen shot 2019-02-23 at 12 19 40 pm" src="https://user-"and here is where the modal is being called:
Change:
tests: - text: <code>intRightTriangles(500)</code> should return 420. testString: assert(intRightTriangles(500) == 420); <del> - text: <code>intRightTriangles(800)</code> should return 420. testString: assert(intRightTriangles(800) == 420); </del> <ins> - text: <code>intRightTriangles(800)</code> should return 720. testString: assert(intRightTriangles(800) == 720); </ins> - text: <code>intRightTriangles(900)</code> should return 840. testString: assert(intRightTriangles(900) == 840); - text: <code>intRightTriangles(1000)</code> should return 840.

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: Project Euler 39 automated test for n=800 should expect 720, which is the correct answer [ [ 45, 336, 339 ], [ 72, 320, 328 ], [ 80, 315, 325 ], [ 120, 288, 312 ], [ 144, 270, 306 ], [ 180, 240, 300 ] ] Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Chrome Browser Version: 79.0.3945.130 (Official Build) (64-bit) Operating System: MacOS If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box):
Change:
# --description-- <del> You need to determine whether the task being added already exists or not. If it doesn't exist, you will add it, and if it already exists, you will set it up for editing. You can use the `findIndex()` method to accomplish this. </del> <ins> You will need to determine whether the task being added to the `taskData` array already exists or not. If the task does not exist, you will add it to the array. If it does exist, you will update it. To accomplish this, you can use the <dfn>findIndex()</dfn> method. </ins> <del> `findIndex` is an array method that lets find the index of the first element in an array that satisfies a given testing function. </del> <ins> The `findIndex()` array method finds and returns the index of the first element in an array that meets the criteria specified by a provided testing function. If no such element is found, the method returns `-1`. </ins> Here's an example: ```js <del> const numbers = [3, 1, 5, 6, 10, 9, 8]; const firstEvenNumIndex = numbers.findIndex((num) => num % 2 === 0); </del> <ins> const numbers = [3, 1, 5, 6]; const firstNumLargerThanThree = numbers.findIndex((num) => num > 3); </ins> <del> console.log(firstEvenNumIndex); // Output: 3 – because the first even number (6) is at index 3 </del> <ins> console.log(firstNumLargerThanThree); // prints index 2 </ins> ``` <del> Declare a `dataArrIndex` variable using `const` and set it to the result of the `findIndex()` method applied to the `taskData` array. Utilize arrow syntax to provide a callback function with `item` as the parameter, and within the callback, check if the `id` property of `item` is equal to the `id` property of `currentTask`. </del> <ins> Use `const` to declare a variable called `dataArrIndex` and assign it the value of `taskData.findIndex()`. For the `findIndex()` method, pass in an arrow function with `item` as the parameter. </ins> <del> If the task exists, this returns the index, and if it doesn't exist, it returns `-1`. </del> <ins> Within the arrow function, check if the `id` property of `item` is strictly equal to the `id` property of `currentTask`. </ins> # --hints--

Discussion:
Instructions text says "findIndex is an array method that lets find the index of the first element in an array that satisfies a given testing function." Following the style of previous similar statements in the course, "lets find" should probably say "lets you find". "lets you find" instead of "lets find" No response Device: laptop OS: Windows 11 Browser: Chrome Version: 120 No response
Hey ! That's a good catch. But after reading through the directions there are a few things that could be cleaned up to simplify it a bit and there are a few things missing like the markers to indicate a new term is being introduced. Let's go with this revised description js const numbers = [3, 1, 5, 6]; const firstNumLargerThanThree = numbers.findIndex((num) =num 3); (firstNumLargerThanThree); // prints index 2 ` I'll go ahead and open this up for contribution.
Change:
<Button block={true} bsStyle='primary' <del> className='btn-cta' </del> id='confirm-donation-btn' type='submit' >

Discussion:
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.
Change:
</section> </main> <footer> <del> <p> </del> --fcc-editable-region-- <del> No Copyright - freeCodeCamp.org </del> <ins> <p>No Copyright - freeCodeCamp.org</p> </ins> --fcc-editable-region-- <del> </p> </del> </footer> </body> </html>

Discussion:
Users often delete the text or include it inside of the anchor text. Could we add a line to the instructions preventing this error? Common errors: Target solution: There should be a way to prevent these common errors. No response All No response
I'm happy to work on and fix this issue
While we are at it, I move that we include the opening and closing tags in the active editor region. I've see several people add these tags because they don't realize they are already there since they are in the gray area, far removed from the white editor region.
+1 to adding the p to the editable region
Just helped someone in the forums who extra tags on this step. Definitely need to put them in the editable region.
I am down to test moving them to the editor area first, if the issue persists, we can add new line After all, this looks like it's cased by a confusion 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 moderators will guide you through this.
I think I tried everything and it doesnt work
This isn't a location for help. You should use the Ask for Help button or go to the forum at
Change:
## Quick references articles <del> <a href="/how-to-work-on-guide-articles.md">1. How to work on Guide articles.</a> <a href="/how-to-work-on-coding-challenges.md">2. How to work on Coding Challenges.</a> <a href="/how-to-setup-freecodecamp-locally.md">3. How to setup freeCodeCamp locally.</a> <a href="/how-to-catch-outgoing-emails-locally.md">4. How to catch outgoing emails locally.</a> </del> <ins> <a href="/docs/how-to-work-on-guide-articles.md">1. How to work on Guide articles.</a><br> <a href="/docs/how-to-work-on-coding-challenges.md">2. How to work on Coding Challenges.</a><br> <a href="/docs/how-to-setup-freecodecamp-locally.md">3. How to setup freeCodeCamp locally.</a><br> <a href="/docs/how-to-catch-outgoing-emails-locally.md">4. How to catch outgoing emails locally.</a> </ins> ## Style guides <del> 1. Style guide for creating guide articles. 2. Style guide for creating coding challenges. </del> <ins> <a href="/docs/how-to-work-on-guide-articles.md">1. Style guide for creating guide articles.</a><br> <a href="/docs/how-to-work-on-coding-challenges.md">2. Style guide for creating coding challenges.</a> </ins> ## Quick commands reference when working locally

Discussion:
The 3 example links for properly named titles under Title Section in style guide for guide articles are broken. click on this link to get to the issue
May I take this one?
Change:
# --description-- <del> A `while` loop is another kind of loop that runs a portion of code until a specified condition is `True`: </del> <ins> A `while` loop is another kind of loop that runs a portion of code as long as a specified condition is `True`. The loop terminates when the condition becomes `False`: </ins> ```py while condition:

Discussion:
Example Code Below the expenses list, create a while loop. Use True for the condition, and print the string 'nExpense Tracker' inside the loop body to show the title of the program. Highlighted portion should instead be changed to False, since while loops terminate when their condition is false.
As an alternative "A while loop is another kind of loop that runs a portion of code until a specified condition is <b</b:"
My suggestion for clarity "A while loop is another kind of loop that runs a portion of code a specified condition is ."
I would go with:
Change:
"The following code is an example of using <code>filter</code> to remove array elements that are equal to five:", "Note: We omit the second and third arguments since we only need the value", "<blockquote>array = array.filter(function(val) {<br>&nbsp;&nbsp;return val !== 5;<br>});</blockquote>", <del> "Use <code>filter</code> to remove all elements from <code>oldArray</code> that are greater than 5." </del> <ins> "Use <code>filter</code> to filter out all elements from <code>oldArray</code> that are greater than 5 and store the results into <code>newArray</code>.  <code>oldArray</code> should not change." </ins> ], "challengeSeed": [ "var oldArray = [1,2,3,4,5,6,7,8,9,10];", <del> "var newArray = [];", </del> "", "// Only change code below this line.", "", <del> "newArray = oldArray;" </del> <ins> "var newArray = oldArray;" </ins> ], "tail": [ "(function() {return newArray;})();" ], "tests": [ <del> "assert.deepEqual(newArray, [1,2,3,4,5], 'message: You should have removed all the values from the array that are greater than 5.');", </del> <ins> "assert.deepEqual(oldArray, [1,2,3,4,5,6,7,8,9,10], 'message: You should not change the original array.');", "assert.deepEqual(newArray, [1,2,3,4,5], 'message: You should have filtered out all values from the array that are greater than 5.');", </ins> "assert(editor.getValue().match(/array.filters*(/gi), 'message: You should be using the <code>filter</code> method to remove the values from the array.');", "assert(editor.getValue().match(/[1,2,3,4,5,6,7,8,9,10]/gi), 'message: You should only be using <code>filter</code> to modify the contents of the array.');" ],

Discussion:
There are two exercises dealing with JavaScript array functions that don't change the original array (.map and .filter). It is very confusing to a learner whether to modify the existing array or to assign the results to a separate array. Here's a snippet from The test assertions are all on , meaning it doesn't matter if was changed at all. I have two suggestions, either of which should make these exercises less confusing: Remove all references of and make the test assertions on or Reword the goal statement to : Update the starter code to : This concept would apply to both:
I like suggestion number two :+1:
Change:
In this project, you'll build an app that will search for Pokémon by name or ID and display the results to the user. To retrieve the Pokémon data and images, you'll use freeCodeCamp's <a href="https://pokeapi-proxy.freecodecamp.rocks/" target="_blank" rel="noopener noreferrer nofollow">PokéAPI Proxy</a>. <ins> **Note:** The first 13 steps must be completed inside the `index.html` file. </ins> **Objective:** Build an app that is functionally similar to <a href="https://pokemon-search-app.freecodecamp.rocks" target="_blank" rel="noopener noreferrer nofollow">https://pokemon-search-app.freecodecamp.rocks</a> **User Stories:**

Discussion:
The test "Build a Pokémon Search App Project - Build a Pokémon Search App" has some stories that require me to have certain elements with specific IDs to be present in the project. Now, nowhere does it say that those elements must strictly be present in the file. So, when I created those elements with the exact Id-naming requirements in The test did not pass. I think the tests should pass as long as the elements are present in the project regardless of the file they are in. / file: / body{ background-color: black; color: white; } Expected the code to pass since the required elements were present in the project. No response Browser: Microsoft Edge [Version 127.0.2651.105 (Official build) (64-bit)] I am only talking about the tests 3 to 13 here. Ignore other tests as I have not completed the project as of submitting this request.
It's not as much in which file they are, but at which point they are present on page. Tests 3-13 are using similar wording as tests 1 & 2. 1 & 2 clearly must be present on load to be able to fulfill further tests. Similarly tests 14+ are very clear that specific actions must be taken before result can be checked. That's not a case for 1-13 tests.
I understand that the wording is similar but in both the modules of API in "JavaScript Algorithms and Data Structures (Beta)", the elements are created in the and not in the So, when the elements created in the "Build a Pokémon Search App Project" in do not pass, It seems counter-intuitive to teach that in the first place. Also, it makes the test seem more rigid than flexible on methods.
Thank you for your feedback, I see how this might be a bit confusing. We should add a second note: Please note that the first 13 steps must be completed inside the file. We should put this note above the user stories.
Change:
runTestInTestFrame(document, testString, testTimeout); } <del> export function buildDOMChallenge({ files, required = [], template = '', theme = `` }) { </del> <ins> export function buildDOMChallenge({ files, required = [], template = '' }) { </ins> const finalRequires = [...globalRequires, ...required, ...frameRunner]; const loadEnzyme = Object.keys(files).some(key => files[key].ext === 'jsx'); const toHtml = [jsToHtml, cssToHtml];

Discussion:
I did not see anyone raising this issue, but I don't think the background of the preview in default or night mode should be anything other than white unless the coding exercise specifically changes the background to something else. The preview should be exactly what you would see in a browser. In almost all the challenges, the background would be white. !
I share your concerns The reason we changed the color of the display is that a white display is discomforting to the eye on night mode when everything else is dark. so we injected some styles to harmonize the view in general. That convention was carried over to light mode.
It might be better to default to white in light mode, same as the editor. As for night mode, some of the css challenges might need some changes to look reasonable in both modes. For instance, in night mode, looks like this: ! If we change the seed code to it would become ! It would have to be case-by-case, though.
That is a very good point. I will defer this to
Logically, I have to agree with - displaying anything other than what the code in the editor would produce might confuse campers. But it is a little rough on the eyes to have the white background on night mode. And the current theme looks a lot better - so it's a tough call. I scrolled through a number of challenges, and there's quite a few that don't look right with the blue background. So there might be a decent amount of work to go through and fix all of them.
I really like the new theme, but a preview should be a true preview. We want to make this like the real world. Developers working in some kind of night mode on their favorite local editors, still expect to check the "real" result of the code they have written on a browser or in a preview mode in their local editors. The night mode should only apply to the editor or the non-preview part of the FCC site. Anything else is just not realistic.
The preview should be white.
I agree with everyone here on this thread. The preview should remain white. Note that soon the preview won't always be there on the right side "brightening up" the user interface and ruining people's night mode experience.

Soon we will have a single column layout where you the preview only shows up when you click a button to show it, or it loads in a separate tab. - could you update the styling on this so that the preview area is unaffected by our styling?
Definitely.
Change:
"develop": "npm-run-all build:curriculum -p develop:*", "develop:client": "npm run build:curriculum && cd ./client && npm run develop", "develop:server": "npm run predevelop && cd ./api-server && npm run develop", <del> "docs:serve": "docsify serve ./docs -o --port 3200", </del> <ins> "docs:serve": "docsify serve ./docs -o --port 3400", </ins> "e2e": "npm run e2e:dev:run", "e2e:dev:run": "start-test develop ':3000/status/ping|8000' cypress:dev:run", "e2e:dev:watch": "start-test develop ':3000/status/ping|8000' cypress:dev:watch",

Discussion:
The documentation opens on port 3200 The challenge editor uses ports 3200/3300 There is a clash there. It may need to move one of the two
What do we have to change to fix this issue?
Heya The quickest fix would probably be to change this line: Replacing 3200 with 3400.
And here! So the documentation is updated together
I can make this change if you wouldn't mind!
Thanks for your interest in contributing! You've already contributed to our codebase, however - we prefer to leave issues for folks who are new to our codebase so they have a chance to familiarise themselves.
that's fair! I guess now I know how to do it so it wouldn't make sense for me to contribute.
Reopened because the docs section still need to be updated If you're going to update the docs, update the English file only
is this issue still open
yes the docs tells people to expect port:3200, while we are using port:3400, which may cause confusion. opening a pull request to change the docs will solve this issue for good
do you mind checking it again ,because I think it has already been edited its showing 3400 now
no worries, can you link the change because the documents is talking about port:3200 Here is the docs, that I am talking about
I was talking about the main branch ,the link you sent just now ,it is not main branch
so do I have to make changes in this branch ??
Nope, I was simply confused