jiebi/CodeConvo huggingface dataset:
Change:
## Description <section id='description'> We can access the data inside arrays using <dfn>indexes</dfn>. <del> Array indexes are written in the same bracket notation that strings use, except that instead of specifying a character, they are specifying an entry in the array. Like strings, arrays use <dfn>zero-based</dfn> indexing, so the first element in an array is element <code>0</code>. </del> <ins> Array indexes are written in the same bracket notation that strings use, except that instead of specifying a character, they are specifying an entry in the array. Like strings, arrays use <dfn>zero-based</dfn> indexing, so the first element in an array has an index of <code>0</code>. </ins> <br /> <strong>Example</strong>

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 feel like the description for the code in the is a little confusing and can be further cliarified. For example, the description is this: "... Like strings, arrays use <dfnzero-based</dfnindexing, so the first element in an array is element <code0</code." <strongExample</strongTo be a little more clear and following the index concept, this could possibly be explained like this: "... Like strings, arrays use <dfnzero-based</dfnindexing, so the first element in an array is element at index <code0</code."
Change:
- name: Run Tests run: pnpm test <ins> test-new: name: Test New Curriculum needs: lint runs-on: ubuntu-20.04 strategy: fail-fast: false matrix: node-version: [18.x] steps: - name: Checkout Source Files uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3 - name: Setup pnpm uses: pnpm/action-setup@v2 with: version: 8 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3 with: node-version: ${{ matrix.node-version }} cache: pnpm - name: Set Environment variables run: | cp sample.env .env echo 'SHOW_UPCOMING_CHANGES=true' >> .env echo 'SHOW_NEW_CURRICULUM=true' >> .env cat .env - name: Start MongoDB uses: supercharge/mongodb-github-action@d26215f71b2ce60420a2a3776a25893d11a65f85 # 1.9.0 with: mongodb-version: 6.0 mongodb-replica-set: test-rs mongodb-port: 27017 - name: Install Dependencies run: | echo pnpm version $(pnpm -v) pnpm install pnpm run create:config pnpm run build:curriculum - name: Run Tests run: pnpm test </ins> test-localization: name: Localize needs: lint

Discussion:
Looking forward for reporting a security issue: Please report security issues by following our security policy: Describe the bug I don't know if fcc is paying for CI runs so maybe this doesn't matter. While waiting for CI to run, I noticed that both and run . What actually takes the longest is which is only linting .md files so that probably doesn't need to run twice eh? To Reproduce Steps to reproduce the behavior: output of pnpm run lint Expected behavior A clear and concise description of what you expected to happen. Screenshots If applicable, add screenshots to help explain your problem. Desktop (please complete the following information): n/a Smartphone (please complete the following information): n/a Additional context Add any other context about the problem here.
Change:
You should have an `if` statement that checks if the right key was pressed and the player's `x` position is less than 400. ```js <del> assert.match(animate.toString(), /keys.rightKey.presseds*&&s*player.position.xs*<s*400/); </del> <ins> assert.match(animate.toString(), /keys.rightKey.(pressed|presseds*===s*true)s*&&s*player.position.xs*<s*400/); </ins> ``` # --seed--

Discussion:
these 2 if statements are functionally equivalent and yet one passes and the other does not pass, took me over a half hour, and made me a very sad panda if(keys.rightKey.pressed && player.position.x < 400) { } if (keys.rightKey.pressed === true && player.position.x < 400) { } the problem is that later the keys are defined with press as false, which makes you assume you need to check if it is true, though you do not, and that is horribly confusing and stupid. if(keys.rightKey.pressed && player.position.x < 400) { } if (keys.rightKey.pressed === true && player.position.x < 400) { } I expected to pass and be done with this in 2 minutes or less. 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
The === operator checks for strict equality, meaning both the value and the type must match. So, keys.rightKey.pressed must be the boolean true, not just any truthy value. In this case, even if keys.rightKey.pressed is 1, "some string", or {}, the condition will not evaluate as true. It will only be true if keys.rightKey.pressed is exactly true. So the elegant way of writing if condition is first one only because in tests keys.rightKey.pressed can be equal to anything some timestamp or anything at the backend while testing your code
so would just using 2 equals signs work then?
I am just saying that your code is tested in backend and test is written is such a way that it will handle only first if statement otherwise your second if statement is also correct.
The tests are in the frontend code and use a regex Even though would be more common in JS apps, we should allow because a lot campers will still feel more comfortable writing that and the tests should allow for either answer. hope that helps
Thank you, I appreciate it.
Change:
</head> <body> <header> <del> <img id="logo" src="https://cdn.freecodecamp.org/platform/universal/fcc_primary.svg"> </del> <ins> <img id="logo" alt="freeCodeCamp" src="https://cdn.freecodecamp.org/platform/universal/fcc_primary.svg"> </ins> <h1>HTML/CSS Quiz</h1> --fcc-editable-region-- <nav>

Discussion:
[X] The "CSS" and the have the same value. This is affecting screen reader users since this involves an input and associated label. [ ] The logo in the upper left needs alt text. I would suggest it just be "freeCodeCamp". A lot of them. N/A Resolved Add alt text to the logo. Do we need to add an extra step for this or can we just add it to ? 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
Seeing as the logo is non-functional, do we want the alt to be null? ? If it does require an , then this should get its own step, and a clear description as to why it needs one should be given. I suggest changing the of the (and associated ) to .
Per , the logo does require alt text. Functionality isn't the deciding factor here, it's if the image conveys information (i.e. is not purely decorative), which this image clearly does. Do we want to split this off into its own issue if we are going to create a new step?
I would say yes, but it is not fun to deal with the merge conflict, when two PRs are opened at the same time.
The logo still needs an alt text. The logo is introduced in step 7: That step should be updated to instruct campers to give the an alt text of . The seed code in all subsequent steps should be updated to include that new attribute.
hey may i work on this issue? if so please assign it to me
Hey We typically do not assign issues. Instead, we accept the first pull request that comprehensively solves the issue. Issues labelled with or are open for contributions. Please make sure you read . We prioritize contributors following the instructions in our guide. Join us in or if you need help contributing - our community will be happy to assist you.
Change:
To begin, we will discuss a particular type of tree, the binary tree. In fact, we will actually discuss a particular binary tree, a binary search tree. Let's describe what this means. While the tree data structure can have any number of branches at a single node, a binary tree can only have two branches for every node. Furthermore, a binary search tree is ordered with respect to the child subtrees, such that the value of each node in the left subtree is less than or equal to the value of the parent node, and the value of each node in the right subtree is greater than or equal to the value of the parent node. It's very helpful to visualize this relationship in order to understand it better: <del> <div style='width: 100%; display: flex; justify-content: center; align-items: center;'><img alt="an example of a binairy search tree" style='width: 100%; max-width: 350px; background-color: var(--gray-05);' src='https://user-images.githubusercontent.com/18563015/32136009-1e665d98-bbd6-11e7-9133-63184f9f9182.png'></div> </del> <ins> <div style='width: 100%; display: flex; justify-content: center; align-items: center;'><img alt="an example of a binary search tree" style='width: 100%; max-width: 350px; background-color: var(--gray-05);' src='https://user-images.githubusercontent.com/18563015/32136009-1e665d98-bbd6-11e7-9133-63184f9f9182.png'></div> </ins> Now this ordered relationship is very easy to see. Note that every value to the left of 8, the root node, is less than 8, and every value to the right is greater than 8. Also notice that this relationship applies to each of the subtrees as well. For example, the first left child is a subtree. 3 is the parent node, and it has exactly two child nodes — by the rules governing binary search trees, we know without even looking that the left child of this node (and any of its children) will be less than 3, and the right child (and any of its children) will be greater than 3 (but also less than the structure's root value), and so on.

Discussion:
Thanks for opening this issue. This looks like something that can be fixed by "first-time" code contributors to this repository. Here are the files that you should be looking at to work on a fix: 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.
I have fixed in my PR
Change:
"  <li>other cats</li>", "</ol>", "<form action="/submit-cat-photo">", <del> "  <input type='text'>", </del> <ins> "  <input type='text' placeholder='cat photo URL'>", </ins> "  <button type='submit'>Submit</button>", "</form>" ],

Discussion:
This challenge has the additional requirement of "Your text field should have the placeholder text of "cat photo URL".", when this placeholder text was before, then removed again arbitrarily in this lesson. Assuming this is a bug since it doesn't match the tutorial flow.
Change:
1: "Move the .target element from #location1 to #location2.", 2: "Change the background color of .target to red.", 3: "Change the background color of the even-numbered targets to red.", <del> 4: "Change the background color of the target4 to red.", 5: "Clone the target2 in #location1 so that it also exists in #location2.", 6: "Remove the target3 from element from #location1.", </del> <ins> 4: "Change the background color of target4 to red.", 5: "Clone target2 in #location1 so that it also exists in #location2.", 6: "Remove the target3 element from #location1.", </ins> 7: "Check the following checkboxes using jQuery.", 8: "Make the text input field read-only.", <del> 9: "Select the target2 option in the select box.", </del> <ins> 9: "Select target2 option in the select box.", </ins> 10: "Add the following css classes to .target: 'animated' and 'hinge'.", 11: "Use jQuery to read the data of .target.", 12: "Use 'length' to count the number of child elements in #location1, then display that value in #location2.",

Discussion:
In the build a bike shop interactive project, the term "subshell", also "sub shell" (1 instance) is first used in step 1450 as an instruction without any definition of what a sub shell / subshell is. The challenge has been using subshells since much earlier in the tutorial as well as in the prior coding challenges where bash is used to access a PSQL database, but the term is never explained. This creates cognitive friction during this step and doesn't allow for the "interactive video game flow state" that is desired in the FCC curriculum. I'd suggestion a simple sentence that explains what a subshell is before using the term as part of a coding instruction step. It would probably be best to introduce this term back in the Build a student database project since that is the first occurence of using the syntax NA - for instructions issue NA - for instructions issue No response Device: [Laptop] OS: [e.g. iOS 12.6.1] Browser: [Chrome] Version: [e.g. 109] Address how the wording interferes with the flow state described here: .
Where should I add the definition of subshell ? can you tell me the name of the file and path of the file ? Definition of Subshell : A subshell is a child process launched by a shell (or shell script). A subshell is a separate instance of the command processor. Also, is above definition of subshell correct ?
Hey do you mind taking a look and triage this?
I really didn't think anything needed to be here. Campers have been using subshells quite a few times before this course. It's never thoroughly explained exactly what it is, but it's explained how it behaves... step in OP: next step: A forum search yields no results of people asking about this: I decided to add a small snippet in the course before this where that syntax is first used to hopefully ease campers into the terminology.
Change:
Your code should begin with the declaration `<!DOCTYPE html>`. You may have omitted the declaration, have a typo, or it is not the first line of code. ```js <del> assert(code.match(/<s*!DOCTYPEs+htmls*>/)); </del> <ins> assert.match(code, /<s*!DOCTYPEs+htmls*>/); </ins> ``` Your `<!DOCTYPE html>` must be located at the top of the document. ```js const noSpaces = code.replace(/s/g, ''); <del> assert(noSpaces.match(/^<!DOCTYPEhtml><html/)); </del> <ins> assert.match(noSpaces, /^<!DOCTYPEhtml><html/); </ins> ``` # --seed--

Discussion:
We recently updated the guidelines for writing assertions here For consistency and matching what is in the docs, we should slowly start to update the tests for the workshops and labs in the new frontend cert. For this issue, just focus on updating the tests for steps 36 - 40 of the cat photo app workshop. We don't want to have a large PR that updates a whole bunch of tests in a bunch of steps and makes it harder to review. Here is the link to the workshop: The tests should be updated, where appropriate, to use specific methods like , , , etc instead of just . Here is the complete API reference Just focus on the new frontend cert and don't worry about updating the RWD cat photo app since that will become legacy anyway.
Change:
## --seed-contents-- ```js <del> function numberRotations() { </del> <ins> function numberRotations(a, b) { </ins> <del> return true; </del> <ins> return 0; </ins> } numberRotations();

Discussion:
The 100 should be a superscript in the last line of this challenge. N/A Should say We may also consider better mathematical formatting? No response All No response
Seems like it has been like this for a while: I will open this up to first timers. The expected fix is to use MathJax (KaTeX-like) to render the following: $$ n: 10 < n < 10^{100} $$ An issue with the 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 actually saw a way to roll this into a fix that expands the challenge so that won't work.
Change:
"assert.deepEqual(myArray, [9,7,5,3,1], 'message: <code>myArray</code> should equal <code>[9,7,5,3,1]</code>');" ], "challengeSeed":[ <del> "ourArray = [];", </del> <ins> "var ourArray = [];", </ins> "", <del> "for(var i = 9; i > 0; i -= 2){", </del> <ins> "for(var i = 10; i > 0; i -= 2){", </ins> "  ourArray.push(i);", "}", "",

Discussion:
Challenge has an issue. User Agent is: <codeMozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36</code. Please describe how to reproduce this issue, and include links to screenshots if possible. Hi guys. The actual code you provided has some small typo. In the challenge description ourLoop i variable has 10 as starting point. In code instead ourLoop is started by 9. It's pretty weird because construction of ourLoop in code is actual solution to this challenge :) My code:
Change:
Fulfill the user stories and pass all the tests below to complete this project. Give it your own personal style. Happy Coding! <ins> **Note:** Be sure to add `<link rel="stylesheet" href="styles.css">` in your HTML to link your stylesheet and apply your CSS </ins> # --hints-- Your portfolio should have a "Welcome" section with an `id` of `welcome-section`.

Discussion:
With the new format, a lot of people are not linking their css files to the HTML document. It is coming up a lot on the forum. Especially for those that are going through the Legacy curriculum. I think we should add a message underneath the sample projects, to remember to link the CSS file. Proposed change: Remember to link your CSS file in the HTML document. <img width="460" alt="Screen Shot 2022-05-14 at 8 57 10 AM" src="https://user-"
I had trouble fixing , because I didn't link To I hope this will be implemented
I think we should do this.
Change:
*, ::before, ::after { padding: 0; margin: 0; <ins> box-sizing: border-box; </ins> } html { font-size: 62.5%; <del> box-sizing: border-box; </del> } --fcc-editable-region--

Discussion:
Someone in the forums pointed out that adding the property just to will not have the intended effect since the property is not inherited. It appears to me that removing this property completely from in the final product does not seem to make any difference to the layout. Do we need ? If so, if the intent is to apply it to all elements then it should probably be moved to the rule set. Either remove completely or move it into the ruleset. No response N/A No response
Pretty sure I saw this in another challenge too and it got fixed. The CSS used looks like the of setting the but with the actual inheriting missing from the code. It should be fixed, but I would not suggest we remove , setting that (in my opinion) is pretty much a best pratice.
I'm guessing it would be easier and take less explaining to update step 26 to add the on that selector and then remove the mention of it in step 27. Then update all the seed code.
Just a heads up, if lasjorg PR merged without issue, balance sheet project suffer the same issue, we can open a PR or issue for it, if the PR is merged. Except that the balance sheet project , doesn't do much and moving it break the layout.
Change:
Open a new browser tab or window and navigate to [http://localhost:8025](http://localhost:8025) to open your MailHog inbox when the MailHog installation has completed and MailHog is running. The inbox will appear similar to the screenshot below. <del> ![MailHog Screenshot 1](images/mailhog/1.jpg) </del> <ins> ![MailHog Screenshot 1](https://contribute.freecodecamp.org/images/mailhog/1.jpg) </ins> Emails sent by your freeCodeCamp installation will appear as below <del> ![MailHog Screenshot 2](images/mailhog/2.jpg) </del> <ins> ![MailHog Screenshot 2](https://contribute.freecodecamp.org/images/mailhog/2.jpg) </ins> Two tabs that allow you to view either plain text or source content will be available when you open a given email. Ensure that the plain text tab is selected as below. <del> ![MailHog Screenshot 3](images/mailhog/3.jpg) </del> <ins> ![MailHog Screenshot 3](https://contribute.freecodecamp.org/images/mailhog/3.jpg) </ins> All links in the email should be clickable and resolve to their URL.

Discussion:
! Our local images currently do not render in the translated documentation views. This is due to the use of a relative link, which breaks with the new path generated for i18n pages. A couple of potential fixes: Use an absolute link (<filename). This, IMHO, is the most effective. Have translators fix the link in the translation flow. Host the images through our CDN and fetch them.
We should use the absolute path.
Sounds good. I'll get a PR up shortly.
Change:
</blockquote> <footer>&copy; 2018 Camper Cat</footer> </body> <ins> <style> body { height: 100%; margin: 0 !important; padding: 8px; } .overlay { margin: -8px; position: absolute; width: 100%; height: 100%; } </style> </ins> ``` # --solutions-- ```html <body> <ins> <div tabindex="1" class="overlay"></div> </ins> <header> <h1>Even Deeper Thoughts with Master Camper Cat</h1> <nav>

Discussion:
Describe your problem and how to reproduce it: The info for the challenge said that.. And the challenge is.. However, after I put on the both the input and the button, then I press "TAB" it isn't the first thing that is selected! In fact, it's not even selected! And I had successfully finished the course. Also, I already checked the and I think it's trying to do the opposite. But again, as I'm a newbie, I don't know wheter I'm wrong or right, I just wanted to ask is this the desired goal? Thank you. Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Mozilla Browser Version: 66.0.5 (64-bit) Operating System: LSB Version: n/a Distributor ID: ManjaroLinux Description: Manjaro Linux Release: 18.0.4 Codename: Illyria
So, positive tabindices are weird. If you follow the instructions, click on the preview pane and shift-tab (i.e. tab backwards), it should focus on the submit button. Shift-tabbing again takes you to the search box. Why exactly mouse clicks put you in the middle of the tab order isn't clear to me. If you navigate to the preview pane entirely by the keyboard, it should focus in the expected order. The search box comes first, then the button and finally the three links. The easiest way I found to see this was to click on the test output box (below the editor) and tab from there. Probably not. I defer to here. In particular I think that we would be better off using this challenge to warn about the problems that come along with using positive values for .
Oh ok, thanks for clearing that up. I did try your suggestion by clicking the test output box first then tab from there, and it works like it used to be (as it should in instruction). But let me take a conclusion, so there's a mistake with the context in the course and it isn't my fault?
I don't think you did anything wrong. In fact, it was helpful that you looked into how it actually behaved and let us know it was a little weird! The challenge isn't wrong exactly, but I think the issues with positive indices could be highlighted a bit more.

Perhaps by inviting campers to tab around the preview panel and see the strange behaviour you noticed. This will need a bit more discussion before we try changing the challenge, though.