jiebi/CodeConvo huggingface dataset:
Change:
- text: All elements from the first array should be added to the second array in their original order. testString: assert.deepEqual(frankenSplice([1, 2, 3, 4], [], 0), [1, 2, 3, 4]); - text: The first array should remain the same after the function runs. <del> testString: assert(testArr1[0] === 1 && testArr1[1] === 2); </del> <ins> testString: frankenSplice(testArr1, testArr2); assert.deepEqual(testArr1, [1, 2]); </ins> - text: The second array should remain the same after the function runs. <del> testString: assert(testArr2[0] === "a" && testArr2[1] === "b"); </del> <ins> testString: frankenSplice(testArr1, testArr2); assert.deepEqual(testArr2, ["a", "b"]); </ins> ```

Discussion:
<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --JavaScript Algorithms and Data Structures -Basic Algorithm Scripting: Slice and Splice problem description The instruction for this challenge says "The input arrays should remain the same after the function runs.". However, the solution where "arr2" has been changed was accepted. This is the solution that was accepted: Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Mozilla FIrefox Browser Version: 72.0.2 (64-bit) ! Operating System: Win 10 x64 If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box):
Change:
<ins> /* global expect */ import { transformEditorLink } from '../utils'; describe('create-question-epic', () => { describe('transformEditorLink', () => { const links = [ { input: 'https://some-project.camperbot.repl.co', expected: 'https://replit.com/@camperbot/some-project' }, { input: 'https://some-project.glitch.me/', expected: 'https://glitch.com/edit/#!/some-project' }, { input: 'https://github.com/user/repo-name', expected: 'https://github.com/user/repo-name' } ]; it('should correctly transform app links to editor links', () => { links.forEach(link => { expect(transformEditorLink(link.input)).toStrictEqual(link.expected); }); }); it('should not transform editor links in GitHub submission', () => { links.forEach(link => { expect(transformEditorLink(link.expected)).toStrictEqual(link.expected); }); }); }); }); </ins>

Discussion:
In , if a user has submitted a project link, it will display the project's working view instead of the source code. I am not so sure adding the solution links as is currently functioning is helping much. See . Instead of showing the final project link, it would be more useful to show the source code link. In the linked forum post, going to the project results in the "Hmmm.... We Couldn't Reach Your Repl" page. For at least , we should restructure the link (if needed) to show the editable version of the project. For example, if the user submits , then we show . For Codepen projects, this is not an issue, but for Backend projects where the source code is not readily available, we either need to make my above suggested changes or remove this feature for backend challenges/projects. If a user is hosting their own project, then the same issue arises. Unless they submit a GitHub link to their project source code, a final project view does not help us identify problems for the user.
I was recently thinking about this, and just wondered how stable it would be to transform the Camper's URL into the project code URL. If you think this is a decent feature to have, and worth it, then I am willing to throw something together. I will put out a POC, now. Side Note: I have been looking into the fiasco, as some lessons still cause the dents.
Change:
color: var(--text-color-tertiary); } <ins> @media screen and (max-width: 768px) { .markdown-section { max-width: 90%; padding: 40px 15px 40px 15px; } } </ins> /****** CODE HIGHLIGHTING ******/ .token.string { color: #42b983;

Discussion:
<!-- 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 --Describe your problem and how to reproduce it: Viewing Documentation in mobile view as shown in bellow image the content is narrower. Need to make the content little more wider for easy readability. This is also true in landscape view lot of empty space left both sides. Add a Link to the page with the problem: Recommended fix, suggestions (how would you update it?): If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box): ! !
Thanks for the report I agree that margins are too wide. Would you be interested in creating a PR to fix this?
sure will work on this issue
Change:
The `meta` tag should set the `charset` to `UTF-8`. ```js <del> assert(document.querySelector('meta').getAttribute('charset') === 'UTF-8'); </del> <ins> assert(document.querySelector('meta').getAttribute('charset')?.toLowerCase() === 'utf-8'); </ins> ``` Your code should have a `title` element.

Discussion:
The value for is case-insensitive. Not sure if I missed any, but here are case-sensitive ones I found. Case sensitive curriculumchallengesenglish14-responsive-web-design-22learn-accessibility-by-building-a-quiz Case sensitive curriculumchallengesenglish14-responsive-web-design-22learn-css-animation-by-building-a-ferris-wheel Case sensitive curriculumchallengesenglish14-responsive-web-design-22learn-intermediate-css-by-building-a-picasso-painting Case sensitive curriculumchallengesenglish14-responsive-web-design-22learn-responsive-web-design-by-building-a-piano Case sensitive curriculumchallengesenglish14-responsive-web-design-22learn-the-css-box-model-by-building-a-rothko-painting a lot Both are valid The value for should be case insensitive for all challenges. 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]
Change:
state[ns].projectFormValues || {}; export const challengeDataSelector = state => { <del> const { theme } = userSelector(state); </del> const { challengeType } = challengeMetaSelector(state); let challengeData = { challengeType }; if (

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:
<ins> --- title: Use the d3.max and d3.min Functions to Find Minimum and Maximum Values in a Dataset --- ## Use the d3.max and d3.min Functions to Find Minimum and Maximum Values in a Dataset This is a stub. <a href='https://github.com/freecodecamp/guides/tree/master/src/pages/certifications/data-visualization/data-visualization-with-d3/use-the-d3.max-and-d3.min-functions-to-find-minimum-and-maximum-values-in-a-dataset/index.md' target='_blank' rel='nofollow'>Help our community expand it</a>. <a href='https://github.com/freecodecamp/guides/blob/master/README.md' target='_blank' rel='nofollow'>This quick style guide will help ensure your pull request gets accepted</a>. <!-- The article goes here, in GitHub-flavored Markdown. Feel free to add YouTube videos, images, and CodePen/JSBin embeds  --> </ins>

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: Link to the guide on the challenge Data Visualization: Data Visualization with D3: Use the and Functions to Find Minimum and Maximum Values in a Dataset is pointing to the wrong place Incidentally, the challenge page uses the d3-max and d3-min in the url while the guide page uses and Add a Link to the page with the problem: Get a Hint button brings the camper to which is 404 - Page not found Correct link is Tell us about your browser and operating system: Browser Name: Mozilla Firefox for Ubuntu canonical - 1.0 Browser Version: 62.0.3 Operating System: Ubuntu 18.04 If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box):
/ If you can guide me to where this file might be located. I can check....
Solution <body<scriptconst positionData = [[1, 7, -4],[6, 3, 8],[2, 9, 3]] // Add your code below this line const maxX = (positionData, (d) =d[2]); const output = maxX ; // Change this line // Add your code above this line ("body") .append("h2") .text(output) </script</body
Change:
"users"), 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: {}}], "data")` should return `true`. </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: {}}], "data")` should return `true`. </ins> ```js assert.strictEqual(truthCheck(

Discussion:
<!-- 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
Change:
ROLLBAR_CLIENT_ID='post_client_id from rollbar dashboard' ALGOLIA_ADMIN_KEY=123abc <del> ALGOLIA_APP_ID='Algolia app id from dashboard' ALGOLIA_API_KEY='Algolia api key from dashboard' </del> <ins> ALGOLIA_APP_ID=X5V7KWJ4RB ALGOLIA_API_KEY=a45d2b80c97479bbda5cf5c55914230f </ins> AUTH0_CLIENT_ID=stuff AUTH0_CLIENT_SECRET=stuff

Discussion:
Is your feature request related to a problem? Please describe. Without Algolia keys a contributor cannot use the search feature on their local machine, limiting their ability to contribute in this area. Describe the solution you'd like The documentation should include instructions on how to get keys or set up a 'mock' search:
For me, I think very few people would work on the search itself. So, we would be okay to getting asked for developer keys on a need basis. And as for everyone else, will it be possible to render a message like "search is not available during dev" in the dropdown? /cc
I wouldn't mind having a public API key and app ID available in case someone wants to work on the search components or tests. We have a dev app available on Algolia that I can set up with the News index. I believe there's a limit on 50,000 operations a month for dev apps, which should be enough for anyone who wants to work on the search. If we hit the limit Algolia should just return an error for the rest of the month.
Change:
CROWDIN_API_URL: 'https://freecodecamp.crowdin.com/api/v2/' CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_CURRICULUM }} CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_SERVICE_TOKEN }} <ins> - name: Unhide Title of Use && For a More Concise Conditional uses: ./tools/crowdin/actions/unhide-specific-string with: filename: 'react/use--for-a-more-concise-conditional.md' string-content: 'Use &amp;&amp; for a More Concise Conditional' env: CROWDIN_API_URL: 'https://freecodecamp.crowdin.com/api/v2/' CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID_CURRICULUM }} CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_CAMPERBOT_SERVICE_TOKEN }} </ins>

Discussion:
The challenge title of challenge Use && for a More Concise Conditional is not translatable on Crowdin ! (the greyed out text is for not translatable strings) An other challenge where the title is translatable ! this is the link for crowdin file: markdown file for the challenge:
mind taking a look?
I have manually marked the string as translatable today. After our workflows run tomorrow, I will confirm the string is still translatable - if it is not, I will investigate further.
Reopen if still and issue.
this actually happened again with last update
Just to add that this is also happening in pt-BR. The entry is blocked for translation. I suspect this has to do with the double ampersand.
Hello, we are a group of researchers developing machine learning techniques to locate issues suitable for newcomers, and our model consider this issue as likely a "good first issue". May we recommend you to label it as "good first issue" so newcomers know where to choose? Thank you!
thanks but it is not - this needs to be done through Crowdin pipeline, will need to do it, again
Change:
Now you need to create a `draw` method for the `CheckPoint` class. <del> Inside the `draw` method, add a `fillStyle` property to the `ctx` object and set it to `"#f1be32"`. </del> <ins> Inside the `draw` method, assign the `fillStyle` property on the `ctx` object the hex color `"#f1be32"`. </ins> Below the `fillStyle` property, use the `fillRect` method on the `ctx` object and pass in the `x`, `y`, `width`, and `height` properties as arguments.

Discussion:
in step 98 of the platformer game, there are a couple of small issues that can be fixed. 1- the check is too strict for spaces because it doesn't accept this code: Note the extra space between the word draw and the parenthesis. Without the extra space, the code is accepted. For the second issue, the wording used in the step "add a fillStyle property to the ctx object" is not what I would expect given that fillStyle is a property of the canvas object and not something we 'add' to it. I would suggest a rewrite to "set the fillStyle property of the ctx object" instead. As seen above. slight wording change needed and a looser check to allow a space between the word draw and the parenthesis. No response N/A No response
Change:
terms = [] for n, coefficient in self.coefficients.items(): if not coefficient: <del> coefficient </del> <ins> continue </ins> --fcc-editable-region-- if n == 0: terms.append(f'{coefficient:+}')

Discussion:
I have completed this, but noticed there is an error in the code which doesn't seem to cause any problems during the lessons. In lesson 20 we use an if statement (seen in the first code block below) and the action is . This stays the same in steps 21 through 25. However from steps 26 onwards has been replaced by as highlighted in the second code block below. (Please note that I did not change the code and have pressed Reset a number of times but the code stays the same) Please advise First code block: Second code block: I expect code that passed to stay the same and be correct - is the code in the second code block above correct? No response Device: HP Laptop OS: Windows 10 Browser: Firefox Version: 128.0.2 No response
Thanks for reporting this. The answer is no, that snippet of code is not correct and it should be fixed. Each occurrence of should be replaced with
Change:
# --description-- <del> Now your `showAnimation()` function is set up. But if you look closely at your `checkUserInput()` function, you'll notice that it's not very DRY – you're calling `parseInt()` to convert `numberInput.value` into a number several times. </del> <ins> Now your `showAnimation()` function is set up. But if you look at your `checkUserInput()` function, you'll notice that it is calling `parseInt()` to convert `numberInput.value` into a number several times. </ins> <del> A simple way to fix this is to create a new variable to store the converted number. Then you only have to convert the number once and can use it throughout the function. </del> <ins> This is generally a poor practice, for reasons like performance concerns or even just the fact that you'd have to change your logic in multiple places to update the `parseInt()` call. To fix this, create a new variable to store the converted number. Then you only have to convert the number once and can use it throughout the function. </ins> Create a new variable called `inputInt` and assign it the number converted from `numberInput.value`.

Discussion:
Step 77 of the decimal to binary converter project (js beta) says this: Now your showAnimation() function is set up. But if you look closely at your checkUserInput() function, you'll notice that it's not very DRY – you're calling parseInt() to convert into a number several times. I don't think the DRY acronym was introduced before and so this would be a confusing sentence to parse. If the acronym is required, then a definition should be presented. N/A N/A No response N/A No response
Even if we do give a definition, the principle is introduced pretty haphazardly. It's perfectly fine that we make the camper aware that some code is being repeated that should be consolidated. But I don't think we need to introduce the DRY principle. The DRY principle has both pros and cons. Mentioning it as an absolute, without any depth to the subject, is questionable. This is especially true for learners/beginners, which tend to create premature abstractions and over-abstractions the minute they hear about the DRY principle.
I personally think the lesson works without any reference to DRY
My initial reaction is also to just remove it. Maybe something like:
would it also be possible to say something about why it is desirable to not call parseInt several times? Is it a good time to mention for eg that this is waste of processing power or can introduce errors in the code or something like that which would be relevant to know?
Sure, building on lasjorg's suggestion:
Change:
] ], "type": "hike", <del> "challengeType": 6 </del> <ins> "challengeType": 6, "nameEs": "JavaScript Lingo: MDN y Documentación", "descriptionEs": [ "Esta es una introducción básica a MDN y el concepto de la documentación.", "MDN, Mozilla Developer Network, es una fantástica colaboración de fuentes abiertas que documenta no sólo JavaScript, sino muchos otros lenguajes y temas. Si no has oído hablar de ellos, deberías darles un vistazo ahora. Personalmente obtengo mucha información de developer.mozilla.org/en-US/docs/Web/JavaScript ", "Cuando digo documentación, estoy hablando acerca de la información que se proporciona sobre el producto a sus usuarios. La documentación de MDN no necesariamente está escrita por la gente detrás de JS. Brendan Eich creó JS en 1995, pero hoy en día el proyecto continúa creciendo gracias a un esfuerzo comunitario. ", "A medida que continúes aprendiendo JavaScript, jQuery, y prácticamente cualquier otro lenguaje o servicio para desarrollo o programación, la documentación será tu amiga.", "Cuanto más rápido te sientas cómodo leyendo y referenciando documentación, más rápido crecerás como desarrollador.", "Estos vídeos no van a enseñarte JavaScript - te presentan términos y conceptos que serán valiosos a medida que continúes practicando y aprendiendo." ] </ins> }, { "id": "56b15f15632298c12f31518d",

Discussion:
[ ] 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