jiebi/CodeConvo huggingface dataset:
Change:
Affected page docs/how-to-setup-freecodecamp- To Reproduce Steps to reproduce the behavior: to '' down to "Quick commands reference" section that it says - command for run test and server tests are "npm run test:client" and "npm run test:server" Expected behavior It should be and instead Screenshots ! System (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] Additional context Add any other context about the problem here.

Discussion:
| `npm run develop`                                              | Starts the freeCodeCamp API Server and Client Applications.                         | | `npm run storybook`                                            | Starts Storybook for component library development.                                 | | `npm test`                                                     | Run all JS tests in the system, including client, server, lint and challenge tests. | <del> | `npm run test:client`                                          | Run the client test suite.                                                          | </del> <ins> | `npm run test-client`                                          | Run the client test suite.                                                          | </ins> | `npm run test:curriculum`                                      | Run the curriculum test suite.                                                      | | `npm run test:curriculum --block='Basic HTML and HTML5'`       | Test a specific Block.                                                              | | `npm run test:curriculum --superblock='responsive-web-design'` | Test a specific SuperBlock.                                                         | | `npm run test-curriculum-full-output`                          | Run the curriculum test suite, without bailing after the first error                | <del> | `npm run test:server`                                          | Run the server test suite.                                                          | </del> <ins> | `npm run test-server`                                          | Run the server test suite.                                                          | </ins> | `npm run e2e`                                                  | Run the Cypress end to end tests.                                                   | | `npm run clean`                                                | Uninstalls all dependencies and cleans up caches.                                   |
Change:
If any of the methods create new properties on the object the two tests for the properties and the one for the keys should fail. Not sure if the intent of the challenge needs to be clarified a bit better. We might want to refer back to the previous challenge "Use Closure to Protect Properties Within an Object from Being Modified Externally". Challenge: Forum post:
this probably can be tested only if we add a call to the setters (maybe also the getters to be throughful) before testing for the number of properties it wouldn't be too difficult to do, if we arrive to the conclusion that it is needed
Hi i would like to contribute to this issue. can you please define problem statement.
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. 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

Discussion:
# --hints-- <del> `Object.keys(bob).length` should return 6. </del> <ins> No properties should be added. `Object.keys(bob).length` should always return 6. </ins> ```js <del> assert.deepEqual(Object.keys(bob).length, 6); </del> <ins> assert.strictEqual( Object.keys((function () { let bob = new Person('Bob Ross'); bob.setFirstName('Haskell'); bob.setLastName('Curry'); bob.setFullName('John Smith'); return bob; })()).length, 6 ); </ins> ``` `bob instanceof Person` should return `true`.
Change:
<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --From this forum topic: Affected page File: Your code Expected behavior As this challenge is about lazy matching this code should fail Maybe a way is to make sure that the character appear in the right place, there is a test that check if the character is used, so maybe we would need to have a test that check if or are used this in the screenshot checks only for , maybe we can add also the possibility to use as that is also lazy matching ! and just as we are there, removing the flag from the regex as it is not needed, see maybe also this can be fixed so that nor nor are included in the regex

Discussion:
`myRegex` should use lazy matching ```js <del> assert(/?/g.test(myRegex)); </del> <ins> assert(/[^][*+?]?/.test(myRegex)); </ins> ``` `myRegex` should not include the string `h1`
Change:
<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --Affected page Add a Link to the page with the problem. To Reproduce Steps to reproduce the behavior: to the video text "Help improve or add subtitles" is obscured by the video Expected behavior Either this text should be visible or the code should be removed. Screenshots The text is underneath this corner of the video. !
YouTube doesn't allow anymore for crowd sourcing subtitles If we don't have a different alternative it should be to remove the improve subtitles link for that challenge brings to a 404 page, I imagine all the others too if maybe there is a different service that allows for crowdsourcing subtitles the link could be updated (and the text made visible)

Discussion:
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment videoId={videoId} /> <del> <i> <a href={ 'https://www.youtube.com/timedtext_editor?action_mde_edit_form=1&v=' + videoId + '&lang=en&bl=watch&ui=hd&ref=wt&tab=captions' } rel='noopener noreferrer' target='_blank' > {t('learn.add-subtitles')} </a> . </i> </del> </div> </Col> <Col md={8} mdOffset={2} sm={10} smOffset={1} xs={12}>
Change:
I'm not sure if this was deliberately at some point, I'm guessing not - but viewing a cert solution for any cert brings up the JS code viewer with the URL in it when a URL is used to submit the project... ! Go View a solution See modal Possibly from this recent PR: - I swear I tested it
My bad. This line probably needs to change:
I just tried implementing your solution, but then realized I didn't know how to test if it worked without sign in/user data. How should that be done?
You should be able to log in - assuming the is set to true in your .env file. Then you can submit some projects, many of them can just be a URL and don't have any requirements. I believe the responsive web design, front end libraries, and data visualization don't require passing tests. So you should be able to get a cert like that and then go view it.
Turns out that login/the dev user doesn't work on my machine for some reason. Works fine on GitPod though, so it's been tested there.

Discussion:
isOpen: true }); <del> if (files) { </del> <ins> if (files?.length) { </ins> return ( <button className='project-link-button-override'
Change:
Continuing from This is a challenges with the function call used in the test not being visible in the test text. There may be others. The test text should include the function call used.
I'm not sure I understand here Are you referring to this test: How it doesn't say what exactly is being tested? The text should be more specific? edit: This challenge should definitely be renamed to
Sorry, it's this one: All elements from the first array should be to the second array in their original order. assert.deepEqual(frankenSplice([1, 2, 3, 4], [], 0), [1, 2, 3, 4]); it happens that users use ways that don't agree with an empty array, but fail to understand why it is failing, and the only way for them to see that it was an empty array was to use inside the function and rely on the test logs
So to add, I think the test text should be something like The original text could be changed to be this, or the two could be combined in some way
A suggestion to try to make the description a little clearer: "You are given two arrays and an index. Copy each element of the first array into the second array, in order. Write a function called <codefrankenSplice</codethat receives the two arrays and an integer as the index <coden</codeon the second array where you start inserting the elements of the first array. The <codefrankenSplice</codefunction will return another array with the elements of the first array inserted in the second array starting on the index <coden</code. The input arrays should remain the same after the function runs." Also, to add to the idea expressed on "The first array should remain the same after the function runs.", I would suggest adding the following to that test text saying "In case the second array is empty and n is 0, frankenSplice would return a copy of the first array."

Discussion:
); ``` <del> All elements from the first array should be added to the second array in their original order. </del> <ins> All elements from the first array should be added to the second array in their original order. `frankenSplice([1, 2, 3, 4], [], 0)` should return `[1, 2, 3, 4]`. </ins> ```js assert.deepEqual(frankenSplice([1, 2, 3, 4], [], 0), [1, 2, 3, 4]);
Change:
Now it points to a Chinese forum post and shows nothing when people click "Get a Hint" button in the challenge of Chinese curriculum, for example, (). <!-- A clear and concise description of what you want to happen. --We may translate the hints into Chinese and other languages on Crowdin.
It should be possible to create something analogous to our current workflow, as long as the Discourse API allows it. i.e. GET the current articles for upload and then POST the translations once they're approved. Nick probably has a better idea about this than I do, though.
The biggest challenge is going to be figuring out how to update the front matter in the curriculum files to link the appropriate forum post.
I think a really long time ago in one of our conversations with Randy, it was deliberated that the complexity & time involved in working on a way to translate the hint comments, vs working on the new editor & new curriculum was not worth it. But I could be wrong.
That's probably true, but what do we want to do with the "Get a Hint" button? Some options: Link to the English page Remove that button for the Chinese challenges
I think linking to the English page is better~
Can we just link them to English pages?
That should be fine, yeah

Discussion:
export function getGuideUrl({ forumTopicId, title = '' }) { title = encodeURIComponent(title); return forumTopicId <del> ? `${forumLocation}/t/${forumTopicId}` </del> <ins> ? `https://forum.freecodecamp.org/t/${forumTopicId}` </ins> : `${forumLocation}/search?q=${title}%20in%3Atitle%20order%3Aviews`; }
Change:
The lesson at doesn't work with mongoose 6+ because now it just returns the , which causes the code from , lines through , to fail. Mongoose 6.0.1 ! Mongoose 5.4.13: ! This would fix it:
Now that I think of it, why does the boilerplate need to be backwards compatible with older versions of mongoose? I mean, the student would install the latest version always, right?
Thanks, for brining this up. We have discussed versioning in the lessons. I think we just missed this one. Solution Require Campers to install specific versions of and in the first lesson: Typically, we have gone with allowing only patch versions. So, the sentence should be something along the lines of: Does this sound about right?
I see! That sentence seems right to me and definitely would solve the problem without modifying the boilerplate
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. 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
I'll create the PR
note that you are not a first timer contributor
I would like to create a PR for this as I am a first time contributor and I reported this issue on the FCC forum. It will be a few hours until I can submit. I understand these are not assigned so if it's still open when I'm home, I'll gladly take it as my first contribution.
That's right! I didn't read the first timers only

Discussion:
# --instructions-- <del> Add `mongodb` and `mongoose` to the project’s `package.json`. Then, require mongoose as `mongoose` in `myApp.js`. Create a `.env` file and add a `MONGO_URI` variable to it. Its value should be your MongoDB Atlas database URI. Be sure to surround the URI with single or double quotes, and remember that you can't use spaces around the `=` in environment variables. For example, `MONGO_URI='VALUE'`. When you are done, connect to the database using the following syntax: </del> <ins> Add `mongodb@~3.6.0` and `mongoose@~5.4.0` to the project’s `package.json`. Then, require mongoose as `mongoose` in `myApp.js`. Create a `.env` file and add a `MONGO_URI` variable to it. Its value should be your MongoDB Atlas database URI. Be sure to surround the URI with single or double quotes, and remember that you can't use spaces around the `=` in environment variables. For example, `MONGO_URI='VALUE'`. When you are done, connect to the database using the following syntax: </ins> ```js mongoose.connect(<Your URI>, { useNewUrlParser: true, useUnifiedTopology: true });
Change:
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!

Discussion:
As seen in the previous challenge, `const` declaration alone doesn't really protect your data from mutation. To ensure your data doesn't change, JavaScript provides a function `Object.freeze` to prevent data mutation. <del> Once the object is frozen, you can no longer add, update, or delete properties from it. Any attempt at changing the object will be rejected without an error. </del> <ins> Any attempt at changing the object will be rejected, with an error thrown if the script is running in strict mode. </ins> ```js let obj = {

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--
Change:
! the sentence needs to be fixed removing the second "we" 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.
Wow
Just submitted a pull request after fixing this typo! This is my first time contributing to open source, so please let me know if there're things that I should've done. Thank you for providing this opportunity for first-time contributors.

Discussion:
## --text-- <del> What Python library has the `.read_html()` method we can we use for parsing HTML documents and extracting tables? </del> <ins> What Python library has the `.read_html()` method we can use for parsing HTML documents and extracting tables? </ins> ## --answers--
Change:
The challenge "Testing objects for properties" has an outdated video, it needs to be removed. 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.

Discussion:
id: 567af2437cbaa8c51670a16c title: Testing Objects for Properties challengeType: 1 <del> videoUrl: 'https://scrimba.com/c/c6Wz4ySr' </del> forumTopicId: 18324 dashedName: testing-objects-for-properties ---
Change:
! Steps to reproduce the behavior: on night mode challenges until the donate modal shows up has black text on fCC blue background Note that the text is white or light gray when you start typing - it's just the placeholder text that you can't read.
So the place holder text appears when stripe loads in the background. We should keep the form behind a loader and only display it once stripe loads.
That would fix the font color of the placeholder text? Seems like some CSS would work, but you're closer to that area than me. To be clear, I'm talking about the placeholder credit card number and expiration date in the screen shot. It might be hard to see the text, but it's there.
I think we can simply change the placeholder text color using css and it will probably work fine.
! changing the color here would work
That would change the color of the input but not the placeholder. Although there should be an option for that. this is strange since I get the following on production. <img width="389" alt="Screen Shot 2021-10-06 at 11 35 48 AM" src="https://user-"
Just gave it a quick test: Chrome 94.0.4606.61 - works - shows what's in screen shot Firefox 92.0 - doesn't work - shows what's in my screen shot So it seems to be a firefox issue. Can anyone else reproduce this in firefox?
Yup. I'm using Firefox Developer and it looks like this: !

Discussion:
style: { base: { fontSize: '18px', <del> color: `${theme === 'night' ? '#fff' : '#0a0a23'}` </del> <ins> color: `${theme === 'night' ? '#fff' : '#0a0a23'}`, '::placeholder': { color: `#858591` } </ins> } } };
Change:
I was translating of project-euler and noticed that the NOTE is a little bit weird. I checked the . The description is "Which starting number, under one million, produces the longest chain?" and "NOTE: Once the chain starts the terms are allowed to go above one million." If we change the description to "Which starting number, under the given , produces the longest chain?", should we change the NOTE? change the NOTE from "" to "Note: Once the chain starts the terms are allowed to go above ." !
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.

Discussion:
Which starting number, under the given `limit`, produces the longest chain? <del> **Note:** Once the chain starts the terms are allowed to go above one million. </del> <ins> **Note:** Once the chain starts the terms are allowed to go above `limit`. </ins> # --hints--
Change:
<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --In the challenge below, the alt text for the diagram is set to "a diagram of non-overlapping concentric circles". But if my understanding is correct, they are not "concentric circles" (circles which share the same center). <!-- Add a link to the coding challenge with the problem. --Coding Interview Prep Project Euler Problem 199: Iterative Circle Packing <!-- Add a clear and concise description of what you expected to happen. --The alt text should be changed to "a diagram of non-overlapping circles" or something. (I'm not a native English speaker, so please fix it if there is a better description.) <!-- 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: Laptop OS: Windows 10 Browser: chrome Version: 96.0.4664.45 <!-- Add any other context about the problem here. --Originally reported in a comment on Crowdin duing translation.
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.
I would like to work on this.
Hey Issues are typically not assigned to a specific person, other than long-time contributors. You can read more about this at Issues labelled with or are open for contributions for all. Please make sure you read . Join us in or if you need help contributing, our moderators will guide you through this.
sorry about that, as this was my first time in freeCodeCamp, I'll make sure to read the contribution guidelines

Discussion:
Three circles of equal radius are placed inside a larger circle such that each pair of circles is tangent to one another and the inner circles do not overlap. There are four uncovered "gaps" which are to be filled iteratively with more tangent circles. <del> <img class="img-responsive center-block" alt="a diagram of non-overlapping concentric circles" src="https://cdn-media-1.freecodecamp.org/project-euler/199-circles-in-circles.gif" style="background-color: white; padding: 10px;"> </del> <ins> <img class="img-responsive center-block" alt="a diagram of non-overlapping circles" src="https://cdn-media-1.freecodecamp.org/project-euler/199-circles-in-circles.gif" style="background-color: white; padding: 10px;"> </ins> At each iteration, a maximally sized circle is placed in each gap, which creates more gaps for the next iteration. After 3 iterations (pictured), there are 108 gaps and the fraction of the area which is not covered by circles is 0.06790342, rounded to eight decimal places.