jiebi/CodeConvo huggingface dataset:
Change:
# --description-- <del> After your last `.divider`, create a new `p` element with the text `Cholesterol 0mg 0%`. Wrap the text `Cholesterol` in a `span` element, and give that `span` element the `class` attribute set to `bold`. Wrap the text `0%` in another `span` element, with the `class` set to `bold`. Finally, nest the `Cholesterol` and `0mg` span elements inside an additional span element for alignment. </del> <ins> After your last `.divider`, create a new `p` element with the text `Cholesterol 0mg 0%`. Wrap the text `Cholesterol` in a `span` element, and give that `span` element the `class` attribute set to `bold`. Wrap the text `0%` in another `span` element, with the `class` set to `bold`. Finally, nest the `Cholesterol` and `0mg` `span` elements inside an additional `span` element for alignment. </ins> # --hints--

Discussion:
in step 53, the span elements are missing code elements. Here is the file We can add elements, to both of them. Like step 43: Or delete the first one and add code elements to the second one, but reading previous issues, I think campers may delete both elements wrapping the text and create one that wraps both the text. Note: that sentence is hard to work with in Arabic, and require adding nuances, because the structure of two code elements following each other which is weird in RTL layout.
Change:
background-color: var(--primary-background); border-radius: 0; overflow-wrap: anywhere; <del> line-height: 1.5rem; </del> <ins> line-height: 1.5; </ins> z-index: 1; position: relative; border-left: none;

Discussion:
When the blanks in a fill in a blank challenge overlap vertically, the top selection box gets cut off: <img width="767" alt="Screenshot 2024-06-17 at 5 39 59 PM" src=""^ See the two blanks in the sentence are above and below one another. When you click the first blank, the blue selection box is cut off - presumably because the input below is in front of the first input. to on the first blank in the sentence the blank get cut off The box to be visible We could adjust the spacing so the input doesn't get cut off, or move the z-index of the input to the front when it's selected.
I think changing the z-index on select makes sense.
We might also consider increasing the . The lines are pretty close together. Not sure why we are using for the unit, usually is set using unitless values, which would make the we have on the elements work much better. Also, the font-size is set using for whatever reason (unlike most if not all other font styles I have seen in our CSS). Not that changing it to does anything (currently at least).
Change:
<ins> --- title: Use the value attribute with Radio Buttons and Checkboxes --- ## Use the value attribute with Radio Buttons and Checkboxes To pass the challenge, add the `value` attribute to the `input` elements of type `checkbox` and `radio`. Use the `input` label text, in lowercase, as the value for the attribute. The `value` attribute will make sure the choices are identifiable when the form is submitted. Example form with value attributes: ```html <form action="/submit-sandwich"> <label><input type="radio" name="bread" value="wheat"> Wheat</label> <label><input type="radio" name="bread" value="ciabatta"> Ciabatta</label><br> <label><input type="checkbox" name="fillings" value="chicken"> Chicken</label> <label><input type="checkbox" name="fillings" value="tuna"> Tuna</label> <label><input type="checkbox" name="fillings" value="mayo"> Mayo</label><br> <textarea placeholder="Allergies, and extra information"></textarea><br> <button type="submit">Order Sandwich</button> </form> ``` </ins>  No newline at end of file

Discussion:
This PR () a new challenge so we need to create the associated guide article in this area of the code: you expressed interest in this - not sure if you started working on it yet. Let us know if you want to do it or not, or if you need any help. If you don't want to actually write the article you could just create the file and place the "stub text" in it.
I will give it a go.
How do I preview the guide locally? I get a 404 on all guides when I try to view them locally.
You will temporarily need to copy to and then run . Just make sure not to commit any of the files you add to the mock-guide.
Thanks for the info. Should the guide instructions not have this information? I don't think I saw this mentioned anywhere.
Probably should be in the instructions.
Change:
"description": [ "Wrap your <code>img</code> element inside an anchor element with a dead link.", "You can make elements into links by wrapping them in an <code>anchor tag</code>.", <del> "Wrap your image in an <code>anchor tag</code>. Here's an example: <code>&#60;a href='#'&#62;&#60;img src='http://bit.ly/fcc-kittens2'&#62;&#60;/a&#62;</code>", </del> <ins> "Wrap your image in an <code>anchor tag</code>. Here's an example: <code>&#60;a href='#'&#62;&#60;img src='http://bit.ly/fcc-kittens2'/&#62;&#60;/a&#62;</code>", </ins> "Remember to use the hash symbol as your <code>anchor tag</code>'s <code>href</code> property in order to turn it into a dead link.", "Once you've done this, hover over your image with your cursor. Your cursor's normal pointer should become the link clicking pointer. The photo is now a link." ],

Discussion:
Challenge has an issue. Please describe how to reproduce it, and include links to screen shots if possible. What I see: You can apply a class to an HTML element like this: <h2 class="blue-text"CatPhotoApp<h2What I expected to see: You can apply a class to an HTML element like this: <h2 class="blue-text"CatPhotoApp</h2
Markdown's getting in the way, see screenshot. !
Change:
"Tu navegador ejecutará todo JavaScript dentro de un elemento <code>script</code>, incluyendo jQuery.", "Dentro de tu elemento <code>script</code>, agrega este código: <code>$(document).ready(function () {</code> A continuación, ciérralo en la línea siguiente (aún dentro de tu elemento <code>script</code>) con: <code>})</code>", "Más adelante aprenderemos más acerca de funciones. Lo importante es saber que el código que pongas dentro de esta función (<code>function</code>) se ejecutará tan pronto como tu navegador haya cargado la página.", <del> "Esto es importante porque sin su <code>función de documento listo</code>, su código puede ejecutarse antes de que se haya presentado el HTML, lo que podría causar errores." </del> <ins> "Esto es importante porque sin tu <code>función de documento listo</code>, tu código puede ejecutarse antes de que se haya presentado el HTML, lo que podría causar errores." </ins> ] }, {

Discussion:
[x] Learn how Script Tags and Document Ready Work [x] Target HTML Elements with Selectors Using jQuery [x] Target Elements by Class Using jQuery [x] Target Elements by ID Using jQuery [x] Delete your jQuery Functions [x] Target the same element with multiple jQuery Selectors [x] Remove Classes from an element with jQuery [x] Change the CSS of an Element Using jQuery [x] Disable an Element Using jQuery [x] Change Text Inside an Element Using jQuery [x] Remove an Element Using jQuery [x] Use appendTo to Move Elements with jQuery [x] Clone an Element Using jQuery [x] Target the Parent of an Element Using jQuery [x] Target the Children of an Element Using jQuery [x] Target a Specific Child of an Element Using jQuery [x] Target Even Numbered Elements Using jQuery [x] Use jQuery to Modify the Entire Page
Checking
Change:
} } <ins> function replacer(key, value) { if (Number.isNaN(value)) { return 'NaN'; } return value; } </ins> const oldLog = self.console.log.bind(self.console); self.console.log = function proxyConsole(...args) { <del> logs.push(args.map(arg => '' + JSON.stringify(arg)).join(' ')); </del> <ins> logs.push(args.map(arg => '' + JSON.stringify(arg, replacer)).join(' ')); </ins> if (logs.join('n').length > MAX_LOGS_SIZE) { flushLogs(); }

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: Running on any JS challenge outputs on the console output instead of . Related forum topic: User reported seeing when it actually should be with the following code: Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Firefox Browser Version: 70.0 Operating System: Kubuntu 19.04 If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box): Screenshot of bug in a different challenge: !
I don't know anything about this part of the code, but I do see JSON.stringify being used in test- and if you stringify you get back "null". Again, not sure if this is related or not just thought I would post it anyway.
Yeah, that's exactly the issue. My current plan is to use if it exists and stringify if not. I'm just not sure how to make sure this doesn't create any weirdness.
What about using the parameter function? Would that be less likely to cause any weirdness?
that sounds way better. Do you think you'll have time to put that in a PR?
Change:
id: 567af2437cbaa8c51670a16c title: Testing Objects for Properties challengeType: 1 <del> videoUrl: 'https://scrimba.com/c/c6Wz4ySr' </del> forumTopicId: 18324 dashedName: testing-objects-for-properties ---

Discussion:
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.
Change:
); ``` <del> The /now endpoint should return a time that is +/- 20 secs from now </del> <ins> The `/now` endpoint should return the current time. </ins> ```js (getUserInput) =>

Discussion:
I never paid much attention to it before, but after someone tried to add a of 20 seconds to the challenge to pass test 2 (shown below), I think we should modify the wording to make it clear, the user should not purposely make a delay in the call. I was thinking something like the following for a replacement: 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
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 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 am not sure this wording is much better? Do we really need to mention the approximation used in the test? That is, can we make it:
It may not be much better. As far as the approximation being used in the text, it has been that way since the curriculum was ported over from the . I assume it was to account for some users with slow connections or maybe if someone ran the tests closed to midnight? The first commit this test appeared in was created by Quincy over 5 years ago.
To clarify, I am not questioning the need for an assertion approximation. I am questioning the need to mention it in the test text.
I am with you now. Whoever takes this issue on, please change the text to reflect suggestion shown below:
Change:
</div> <ins> ### After Test <div id='js-teardown'> ```js const removeJSComments = str => str.replace(//*[sS]*?*/|//.*$/gm, ''); ``` </div> </ins> </section> ## Solution

Discussion:
<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --Describe your problem and how to reproduce it: I commented out the code and then followed the new syntax for the challenge, but because the commented out code had normal function declaration it didn't pass. Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Google Chrome Operating System: Mac OS High Sierra If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box): // change code below this line const bicycle = { gear: 2, setGear(newGear) { "use strict" = newGear } } / const bicycle = { gear: 2, setGear: function(newGear) { "use strict"; = newGear; } }; // change code above this line bicycle.setGear(3); (); /
Hi, We used regex to match "function" keyword in the code but this instance can be fixed. I'll take a stab at it.
I think this issue occurs with a lot of the challenges. For an example, and Can a statement just be left in the description saying to not use the keyword even as a comment?
A better way is how we solved other such problems. We stripped all the comments out with a regular expression and then validated the user did not use what they were not supposed to. I just created PR to fixed this issue,
Change:
} render() { <ins> // set color based on theme style.base.color = this.props.theme === 'night' ? '#fff' : '#0a0a23'; </ins> return ( <div className='donation-elements'> <FormGroup>

Discussion:
Describe the bug ! The input text on the darkmode version of the donate page () are not readable so you cannot see what you are typing. To Reproduce Steps to reproduce the behavior: to '' with darkmode enabled. on the input labled 'Your Card Number:' and enter some numbers. entered input is not readable as the color of the input text is the same as the background-color of the input. bug applies to the credit card expiration and CVC inputs. ! Desktop (please complete the following information): OS: Win10 Browser Brave/Chrome/Firefox
Change:
// Bonfire instructions functions $('#more-info').on('click', function() { <ins> ga('send', 'event',  'Bonfire', 'more-info', bonfireName); </ins> $('#brief-instructions').hide(); $('#long-instructions').show().removeClass('hide');

Discussion:
<!-- 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 CSS Flexbox: Use the flex-wrap Property to Wrap a Row or Column, the value wrap-reverse is defined: wrap-reverse: "wraps items from right-to-left if they are in a row, or bottom-to-top if they are in a column." This definition is not correct. Actually wrap-reverse wrap content changing de cross-axis direction, bottom to top in a row, and left to right in a column. Browser Name: Browser Version: Operating System:
I'd like to take on this issue please
Since the curriculum content is in the repo, I submitted the PR there.
Ok, thanks Simon.
Change:
.honesty-panel p { margin-left: 10px; margin-right: 10px; <ins> font-family: 'Lato', sans-serif; </ins> } .honesty-panel {

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: Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Browser Version: Operating System: If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box):
Change:
function permAlone(str) { // Create a regex to match repeated consecutive characters. <del> var regex = /(.)1+/g; </del> <ins> var regex = /(.)1+/; </ins> // Split the string into an array of characters. var arr = str.split(''); <del> var permutations = <a href='https://forum.freecodecamp.com/images/emoji/emoji_one/rocket.png?v=3 ":rocket:"' target='_blank' rel='nofollow'>]; </del> <ins> var permutations = []; </ins> var tmp; // Return 0 if str contains same character.

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: The code solution uses global flag in regex, which should not be used unless you really want to use a global flag. The solution works fine, but it is prone to error. Try replacing match with and you ll see the issues that I am talking about. See - and for more info. Add a Link to the page with the problem:
Also should be assigned an empty array instead of
I will take care of this.
I created the necessary pull request to fix the Guide. Once it is merged, we will still have to wait for the master branch to be deployed to the production site for you to see the change. Thanks for pointing out this issue!
Change:
testString: assert((function() { const mockedComponent = Enzyme.mount(React.createElement(ShoppingCart)); return mockedComponent.find('ShoppingCart').length === 1; })()); - text: The <code>Items</code> component should render. testString: assert((function() { const mockedComponent = Enzyme.mount(React.createElement(ShoppingCart)); return mockedComponent.find('Items').length === 1; })()); <del> - text: The <code>Items</code> component should include a <code>propTypes</code> check that requires <code>quantity</code> to be a <code>number</code>. </del> <ins> - text: The <code>Items</code> component should include a <code>propTypes</code> check to require a value for <code>quantity</code> and ensure that its value is a number. </ins> testString: getUserInput => assert((function() { const noWhiteSpace = __helpers.removeWhiteSpace(getUserInput('index')); return noWhiteSpace.includes('quantity:PropTypes.number.isRequired') && noWhiteSpace.includes('Items.propTypes='); })()); ```

Discussion:
In the instructions and unit tests are ambiguous with the word "required". It states: "The Items component should include a propTypes check that requires quantity to be a number." This is unclear as "requires" could mean that this check just simply needs to exist for the test to pass or that quantity should be a number that is required. I suggest either changing the above wording, or adding an additional unit test: "The Items component should include a quantity propType that is required."
! I think the lesson instructions are pretty clear, but I do agree that the test case wording is ambiguous. I would propose that the test message be edited to mirror this instruction.
I do not think the test text should just be a duplicate of the instruction. That would be redundant. Instead, we need to rewrite the text to reflect was is being tested. See below for the current testString prettified: The important part of the test is in the return statement. We are validating that we see the text "" and "Items.propTypes='" after removing whitespaces from the code. There probably is a better testString that could be written also.
I cannot think of a more effective testString, personally. But for the test text, perhaps something like "The component should include a check to require a value for quantity and ensure that value is a number."
Has the same clarity issue, thanks!
I agree that the text should be updated. I just got caught up by the unclear instructions. The way it is, I thought that what was 'required' was that quantity be a number. It doesn't suggest to me that a quantity is required.
Opening this PR for contributions. The test text should be changed to: The Items component should include a <codepropTypes</codecheck to require a value for <codequantity</codeand ensure that its value is a number.
Change:
"difficulty":"9.9825", "description":[ "You can run the same code multiple times by using a loop.", <del> "Another type of JavaScript loop is called a "while loop" because it runs "while" something is true, and stops once that something is no longer true.", </del> <ins> "Another type of JavaScript loop is called a "while loop", because it runs "while" something is true and stops once that something is no longer true.", </ins> "<code>var ourArray = [];</code>", "<code>var i = 0;</code>", "<code>while(i < 5) {</code>",

Discussion:
Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible. "Another type of JavaScript loop is called a "while loop" because it runs "while" something is true, and stops once that something is no longer true." Should probably read as: "Another type of JavaScript loop is called a "while loop", because it runs "while" something is true and stops once that something is no longer true." Commas separate complete sentences, or act as a pause.
Change:
# --description-- <del> The `input` element allows you several ways to collect data from a web form. Like anchor (`a`) elements, `input` elements are <dfn>self-closing</dfn> and do not need closing tags. </del> <ins> The `input` element allows you several ways to collect data from a web form. Like `img` elements, `input` elements are <dfn>self-closing</dfn> and do not need closing tags. </ins> Nest an `input` element in the `form` element.

Discussion:
Step 36 says However this is false, anchor tags are not self-closing. I believe it meant to say which is the self-closing tag introduced in the previous steps.  Wasn't sure where to report this so I also posted about it on the forums at .
Good eye!
Hi ! Thank you for bringing up this issue. This is an easy fix to change anchor elements to img elements. I have the first timers only label for those who are interested in making their first PR.
Could I take this issue? I'm looking for a good first contribution.
Hi ! Any issue with the first timers only label is up for grabs. The first PR that has the correct changes will be reviewed and merged into the main codebase. Here is the file that needs changing. Happy contributing !
Change:
- text: You should have at least two <code>if</code> statements testString: assert(code.match(/if/g).length > 1); - text: You should have closing and opening curly braces for each <code>if else</code> code block. <del> testString: assert(code.match(/ifs*((.+))s*{[sS]+}s*else ifs*((.+))s*{[sS]+}s*elses*{[sS]+s*}/)); </del> <ins> testString: assert(code.match(/ifs*((.+))s*{[sS]+}s*elses+ifs*((.+))s*{[sS]+}s*elses*{[sS]+s*}/)); </ins> - text: <code>testElseIf(0)</code> should return "Smaller than 5" testString: assert(testElseIf(0) === "Smaller than 5"); - text: <code>testElseIf(5)</code> should return "Between 5 and 10"

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: The tests appear to require specific (albeit conventionally correct) formatting in order for the code to pass. This code block, provided by a user, did not pass: However, if I ran the formatter with ++, the resulting formatted code did pass: Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Chrome Browser Version: 85.0.4183.83 Operating System: Windows 10 v1909
Confirmed. This is due to the extra space between the word else and if. Here is the culprit: Changing the above to this should work: Open up to first-timers?
Sounds good to me!
Hi, I would like to pick this! Thanks for the guide! :)
Welcome! Issues labelled don't require permission for a pull request, as long as its your first pull request with us. If you have not done so already, please give our a read - there are a lot of helpful tips in there to get you started.
Hi, i am a first timer. Is the issue still open?
Hey We typically accept PRs in the order we receive them, so this will be open until we get a working PR.