Question: --fcc-editable-region-- let done = 0; <del> while (rows.length <= count) { </del> <ins> while (rows.length < count) { </ins> done++; rows.push(padRow(done, count)); }

On step 89 and 90 of the Pyramid generator there is this misterious error that appear, it can be confusing for campers. !
Error is coming from the function, specifically one of the string repeats. Depending on the and , when or will be , calling method of string will show that error. Edit: When condition is there's no such issue.
Yep. I think reworking the lessons so we never leave the learner with broken code (or at least never unexplained broken code) is the way to go.
I'm not sure if it was even intended to have broken code, description is suggesting everything should work fine. Step 91 asks for two changes, one of which specifically makes this error appear (second change fixes the issue).
Yeah, it's a bit confusing. Probably not intentional, though. On 91 there's this: the only time I don't see the error is when I've followed all the instructions on step 91.
Is this not enough to clear up any doubts? Cuz after following the instructions in step 91, there's nothing mysterious about the error anymore.
I don't think so. Step 89, where error is introduced, doesn't mention it. Neither does 90. It's only when you reach 91 that the error is mentioned and the text is which is incorrect. Changing to has no effect on the error. It's only the combination of that and adjusting the conditional that finally removes the error. The main issue with this is that it breaks the feedback loop between learner's actions and the code's behaviour. Speaking for myself, everything gets harder when the results of my actions are essentially invisible. I know we run tests to check you re doing it right, but that's not really a substitute for them seeing how your actions impact the program.
Okay. We need to at least note the possibility of an unexpected error to the camper. I'm thinking on step 89 now.
Just for posterity, the steps got shifted. Error is introduced by completing step 95 Error is resolved by completing step 96 What should be changed here: Step 95 should: Introduce and explain the error Ask the campers to change the comparison to Step 96 should: No longer ask campers to change the to Not mention that creates a


Question: The content of this repository is bound by the following licenses: - The computer software is licensed under the [BSD-3-Clause](LICENSE.md) license. <del> - The learning resources in the [`/curriculum`](/curriculum) and [`/guide`](/guide) directories including their subdirectories thereon are licensed under the [CC-BY-SA-4.0](/curriculum/LICENSE.md) license. </del> <ins> - The learning resources in the [`/curriculum`](/curriculum) directory including their subdirectories thereon are licensed under the [CC-BY-SA-4.0](/curriculum/LICENSE.md) license. </ins>

<!-- 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 am trying to find the guide folder, but it that I cannot locate it. Was it remove temporarily or relocated to a different section? <details<summaryPrevious report </summaryAdd a Link to the page with the problem: Just take a look on the freeCodeCamp repository main section and and the guide folder is missing. Tell us about your browser and operating system: Browser Name: Chrome Browser Version: Version 74.0.3729.169 (Official Build) (64-bit) Operating System: Windows 10 If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box): ! <details
Yes, the guide has been removed from this repo completely. See: We will not have the general guide articles anymore. Instead we intend to publish these as tutorials that are curated by the editorial team. These would then be published by them on the Developer News. The challenge hints and articles will still be available on the forum which we have already migrated. I am closing this thread, but pinning this for visibility. <details<summaryPrevious comment </summaryThe current production guide at , will soon be moved over to our forum as a wiki. The changes that were made over the past months will also be to the forum wiki post migration. We are no longer accepting any pull-requests for the guide on this repository. Contribution Guidelines for the same will be made available soon. We request your patience. <details


Question: )} {!isMobile && ( <DesktopLayout <del> challengeFiles={reduxChallengeFiles} </del> <ins> challengeFiles={challengeFiles} </ins> challengeType={challengeType} editor={renderEditor({ isMobileLayout: false,

During development adding or modifying the head or tail code ( and ) don't seem to be updated in the challenge. Tested locally and on gitpod. Steps to reproduce the behavior: /modify the or in challenge. For example one of the steps in the JS curriculum. I was adding function and variables to it, and then was attempting to use them in tests. and wait for challenge to be updated. () the challenge page, or visit it for the first time. running tests, referencing the function/variables from head/tail code, there will be reference errors. Changing head or tail code, should update the challenge to use it. Login status don't seem to affect issue. During changing the code, thinking I might do something incorrectly, there were handful times when challenge was updated with the head/tail code. Not sure what was the exact reason. What makes it stranger is stopping client develop and starting again, is not necessarily solving the problem. At some point I thought that's working to get challenge fully updated, but right now that doesn't seem to work.
I might have seen this as well. I remember trying to save a regex in to use in multiple tests, and it didn't seem to work. Kind of just thought I was using it incorrectly, but maybe this was the issue.
Thanks for the detailed investigation of another tricky bug. It was another example where saved code messes things up. They're always a pain to debug because everyone sees something different, depending on whether or not they have something saved. Hopefully this is the last of them!
What's the most throwing off, that wasn't even code saved manually!
Weird. Is there nothing in your local storage?
Hmm, well there is after running tests. That must have been the point when saving mishap happened.
Oh, that's right. No mystery beyond "how did I forget this?" :face_exhaling:


Question: "});" ], "tests":[  "assert(singleVal == 30, 'message: singleVal should have been set to the result of you reduce operation.');",   "assert(singleVal == 30, 'message: singleVal should have been set to the result of your reduce operation.');",  "assert(editor.getValue().match(/.reduce(/gi), 'message: You should have made use of the reduce method.');" ], "challengeSeed":[

Challenge Waypoint: Condense arrays with reduce has an issue. User Agent is: codeMozilla/5.0 Windows NT 6.1; WOW64; rv:41.0 Gecko/ Firefox/41.0 /code. Please describe how to reproduce this issue, and include links to screenshots if possible. My code: javascript var array 4,5,6,7,8 ; var singleVal 0; // Only change code below this line. // Only change code above this line. FUNCTION {return singleVal;} ; singleVal should have been set to the result of you reduce operation : change "you" to "your"
thanks for pointing this out!


Question: "descriptionEs": [ "Ahora quitemos un elemento HTML de tu página usando jQuery.", "jQuery tiene una función llamada .remove() que eliminará un elemento HTML por completo",  "Elimina el elemento target4 de la página utilizando la función .remove()."   "Elimina el elemento con identificación target4 de la página utilizando la función .remove()."  ] }, {

[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


Question: You should assign `arr.map()` to the `playerCards.innerHTML` using the `+=` operator. ```js <del> assert.match(code, /playerCards.innerHTMLs++=s*arr.map(s*(s*)s*=>s*{s*}s*)/) </del> <ins> assert.match(code, /playerCards.innerHTMLs*+=s*arr.map(s*(s*)s*=>s*{s*}s*)/) </ins> ``` # --seed--

The tests of this step have an issue with spacing, this code fails: This code passes:
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: Regex in 4th test should be changed to optionally allow spaces before , from: to: 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.
/attempt


Question: React.createElement(StatefulComponent) ); const initialState = mockedComponent.state(); <del> return mockedComponent.find('h1').text() === initialState.name; </del> <ins> return mockedComponent.find('h1').text() === initialState.firstName; </ins> })() ); ```

A user wondering why his solution passed. I then realized the 2nd test test is not working as intended. The user is supposed to assign a string to a property of . The user's solution assigns an uninitialized variable as a property. The purpose of the test is to make sure the user assigns a string value to a prop named , but the test still allows the user to pass as the prop's value and the test passes. Not sure why, but assigning an uninitialized property to ends up assigned an empty string to it. This of course passes the test requirement but defeats the purpose of the learning here. I suggest changed the required property name to something like , so if a user does something like this, all of the tests will fail. Test in question: The second test should fail because the property of should be undefinedbecause it was not initialized by the user's code. 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
After a bit of research, it appears that assigning as a property that is uninitialized is the same as writing: = { } Since the window has no name, it is just an empty string.


Question: **Examples** ```js <del> 6   >=  6 7   >= '3' 2   >=  3 '7' >=  9 </del> <ins> 6   >=  6  // true 7   >= '3' // true 2   >=  3  // false '7' >=  9  // false </ins> ``` <del> In order, these expressions would evaluate to `true`, `true`, `false`, and `false`. </del> # --instructions-- Add the greater than or equal to operator to the indicated lines so that the return statements make sense.

The student has to go all the way down up to the explanation "In order, these expressions would evaluate to true, false, true, and true." to realize what the result of the operations is. My suggestion is that the second section of the code should look like this: 1 == 1 // true 1 == 2 // false 1 == '1' // true "3" == 3 // true instead of the screenshot attached. <!-- Add a link to the coding challenge with the problem. -- <!-- If applicable, add screenshots to help explain your problem. you can drag and drop, png, jpg, gif, etc. in this box. --!
I would be fine with this change. Any interest in making a PR for it
, Can I? I don't know how to do it and I have never done it in my life, but besides that, I would like to do it by myself using some guide you could give me. I have never used GitHub in the past. And this will help me to contribute even more to this awesome project.
We have some . It may look a little intimidating, but if you follow the instructions it's not bad. The file where this needs to be fixed is Technically, you can edit the file on github and make a PR from there - which can work for some simple fixes, but you can't see and test your changes. I think we would accept those if you want to do that, but I would recommend setting the project up locally at some point if you want to contribute regularly. To be clear, we usually like to get second opinion before making changes like this - since we don't have that, I can't guarantee a PR would be merged - but I think others would be fine with the change so if you want to make a PR, go ahead.
This change seems good. For context, we got rid of a lot of comments since we'd need to translate them. However, these are keywords and don't need translation.
shall I take this up?
Could you clarify if this is actually what we wanted, because this is exactly what we removed 12 months ago in:
Yes, this is okay because these instances specifically are only keywords that don't get translated anyway.


Question: # --description-- <del> In Sass, a <dfn>mixin</dfn> is a group of CSS declarations that can be reused throughout the style sheet. Newer CSS features take time before they are fully adopted and ready to use in all browsers. As features are added to browsers, CSS rules using them may need vendor prefixes. Consider `box-shadow`: </del> <ins> In Sass, a <dfn>mixin</dfn> is a group of CSS declarations that can be reused throughout the style sheet. The definition starts with the `@mixin` at-rule, followed by a custom name. You apply the mixin using the `@include` at-rule. </ins> ```scss <del> div { -webkit-box-shadow: 0px 0px 4px #fff; -moz-box-shadow: 0px 0px 4px #fff; -ms-box-shadow: 0px 0px 4px #fff; box-shadow: 0px 0px 4px #fff; </del> <ins> @mixin reset-list { margin: 0; padding: 0; list-style: none; } nav ul { @include reset-list; } ``` Compiles to: ```css nav ul { margin: 0; padding: 0; list-style: none; </ins> } ``` <del> It's a lot of typing to re-write this rule for all the elements that have a `box-shadow`, or to change each value to test different effects. Mixins are like functions for CSS. Here is how to write one: </del> <ins> Your mixins can also take arguments, which allows their behavior to be customized. The arguments are required when using the mixin. </ins> ```scss <del> @mixin box-shadow($x, $y, $blur, $c){ -webkit-box-shadow: $x $y $blur $c; -moz-box-shadow: $x $y $blur $c; -ms-box-shadow: $x $y $blur $c; box-shadow: $x $y $blur $c; </del> <ins> @mixin prose($font-size, $spacing) { font-size: $font-size; margin: 0; margin-block-end: $spacing; } p { @include prose(1.25rem, 1rem); } h2 { @include prose(2.4rem, 1.5rem); </ins> } ``` <del> The definition starts with `@mixin` followed by a custom name. The parameters (the `$x`, `$y`, `$blur`, and `$c` in the example above) are optional. Now any time a `box-shadow` rule is needed, only a single line calling the mixin replaces having to type all the vendor prefixes. A mixin is called with the `@include` directive: </del> <ins> You can make arguments optional by giving the parameters default values. </ins> ```scss <del> div { @include box-shadow(0px, 0px, 4px, #fff); </del> <ins> @mixin text-color($color: black) { color: $color; } p { @include text-color(); /* color: black */ } nav a { @include text-color(orange); </ins> } ``` # --instructions-- <del> Write a mixin for `border-radius` and give it a `$radius` parameter. It should use all the vendor prefixes from the example. Then use the `border-radius` mixin to give the `#awesome` element a border radius of `15px`. </del> <ins> Write a mixin named `shape` and give it 3 parameters: `$w`, `$h`, and `$bg-color`. Use the `shape` mixin to give the `#square` element a width and height of `50px`, and the color `red`. For the `#rect-a` element add a width of `100px`, a height of `50px`, and the color `blue`. Finally, for the `#rect-b` element add a width of `50px`, a height of `100px`, and the color `orange`. </ins> # --hints-- <del> Your code should declare a mixin named `border-radius` which has a parameter named `$radius`. </del> <ins> You should declare a mixin named `shape` with 3 parameters: `$w`, `$h`, and `$bg-color`. </ins> ```js <del> assert(code.match(/@mixins+?border-radiuss*?(s*?$radiuss*?)s*?{/gi)); </del> <ins> assert.match(code, /@mixins+shapes*(s*$w,s*$h,s*$bg-colors*)s*{/gi); </ins> ``` <del> Your code should include the `-webkit-border-radius` vendor prefix that uses the `$radius` parameter. </del> <ins> Your mixin should include a `width` property that uses the `$w` parameter. </ins> ```js <del> assert( __helpers.removeWhiteSpace(code).match(/-webkit-border-radius:$radius;/gi) ); </del> <ins> assert.match(__helpers.removeWhiteSpace(code), /width:$w;/gi); </ins> ``` <del> Your code should include the `-moz-border-radius` vendor prefix that uses the `$radius` parameter. </del> <ins> Your mixin should include a `height` property that uses the `$h` parameter. </ins> ```js <del> assert( __helpers.removeWhiteSpace(code).match(/-moz-border-radius:$radius;/gi) ); </del> <ins> assert.match(__helpers.removeWhiteSpace(code), /height:$h;/gi); </ins> ``` <del> Your code should include the `-ms-border-radius` vendor prefix that uses the `$radius` parameter. </del> <ins> Your mixin should include a `background-color` property that uses the `$bg-color` parameter. </ins> ```js <del> assert(__helpers.removeWhiteSpace(code).match(/-ms-border-radius:$radius;/gi)); </del> <ins> assert.match(__helpers.removeWhiteSpace(code), /background-color:$bg-color;/gi); </ins> ``` <del> Your code should include the general `border-radius` rule that uses the `$radius` parameter. </del> <ins> You should replace the styles inside the `#square` selector with a call to the `shape` mixin using the `@include` keyword. Setting a width and height of `50px`, and the color `red`. </ins> ```js <del> assert( __helpers.removeWhiteSpace(code).match(/border-radius:$radius;/gi).length == 4 ); </del> <ins> assert.match(code, /#squares*{s*@includes+shape(s*50px,s*50px,s*reds*)s*;s*}/gi); </ins> ``` <del> Your code should call the `border-radius mixin` using the `@include` keyword, setting it to `15px`. </del> <ins> You should replace the styles inside the `#rect-a` selector with a call to the `shape` mixin using the `@include` keyword. Setting a width of `100px`, a height of `50px`, and the color `blue`. </ins> ```js <del> assert(code.match(/@includes+?border-radius(s*?15pxs*?)s*;/gi)); </del> <ins> assert.match(code, /#rect-as*{s*@includes+shape(s*100px,s*50px,s*blues*)s*;s*}/gi); ``` You should replace the styles inside the `#rect-b` selector with a call to the `shape` mixin using the `@include` keyword. Setting a width of `50px`, a height of `100px`, and the color `orange`. ```js assert.match(code, /#rect-bs*{s*@includes+shape(s*50px,s*100px,s*oranges*)s*;s*}/gi); </ins> ``` # --seed--

Currently, the instructions within the module happen to be as follows: Newer CSS features take time before they are fully adopted and ready to use in all browsers. As features are to browsers, CSS rules using them may need vendor prefixes. Consider : For the sake of clarity, the above instructions should also explicitly point out which bits within the given code snippet are vendor prefixes, instead of just simply mentioning the word vendor prefixes within the instructions and expecting the users to figure out themselves as in which parts within the given code snippet are vendor prefixes. The instructions within the module should be as follows: Newer CSS features take time before they are fully adopted and ready to use in all browsers. As features are to browsers, CSS rules using them may need vendor prefixes ( , , etc ). Consider the property below: <img width="522" alt="image" src="https://user-"- Device: Laptop OS: macOS 13.0.1 Browser: Google Chrome Version: 107.0.5304.110 Would love to get some feedback from other members before I proceed ahead with making a PR for this issue. Thanks !
I would be fine with it being more explicit. Not sure if it is really needed but it wouldn't hurt. As an aside, using vendor prefixing to teach Mixins isn't a bad idea but the challenge just hasn't aged well. New features are now hidden behind feature flags and the standards have moved away from vendor prefixing. The box-shadow example seems very outdated.
Hey thanks for sharing the article. After reading the article which you have shared, I can think of the following options: Get rid of vendor prefixing from this challenge ( since the main focus of this challenge is to educate the users about Mixins ) and create a separate challenge to teach users about vendor prefixing. Get rid of the property in this challenge and instead, use such a CSS property in the example, which requires vendor prefixing ( came across an that lists some CSS properties that require vendor prefixing as of 2021 ) Let me know what you think about it.
I wouldn't mind if this was rewritten but everything except parts of the challenge text would need to be changed (the challenge text, the example, the seed code, the requirements, the tests). Motivation for rewriting the challenge: challenge is introducing an unnecessary topic of vendor prefixing. information about vendor prefixing is out of date.

Suggestion: Give a simple example in the challenge text. The mixin will take a font size and a bottom margin, it will reset all other margins. Seed code, in plain CSS to help make the challenge less copy-pasty. Solution/requirements
Thanks for the suggestion I'm happy to work on this issue. I will make a PR for this issue shortly, cheers !
You may want to wait with the PR until we get more consensus. You can start working on it but I can't guarantee that it will be approved if others disagree with the change.
Thanks for letting me know if that's the case, then I will wait and see what others think about the suggested change.
Let's go ahead and open this up, following lasjorg's suggestion above to rewrite the challenge. The entire front-end libraries certification is pretty outdated, and next on our roadmap for a complete overhaul. But this is a pretty low-hanging fruit to hit now.
Hi there, first of all I just want to thank you for the opportunity. This is my first time contributing and I decided to have a go at this issue and this is my attempt: As per suggestions, I removed any references to vendor prefixing as they are unnecessary and outdated. In this rewrite, I kept the general structure of the challenge text but modified to suit the new example code. However, I didn't use the example given by as I think it'll be better to build on the previous challenges. So I did my own simple example about individual styles on headings, which is covered in previous challenges. As for the task itself, I used suggestion with some add-ons. Tagging for visibility. Thank you! :)
Please open a pull request if you'd like your changes reviewed.
Oh right, I have opened a pull request however, I haven't tested the new code at all. Could someone point me to a guide on how to do that?
Hi, I've opened a new PR because I messed up my commit history and the previous PR got closed. Very sorry for the inconveniences, please let me know if there's anything I need to fix. Thank you!


Question: <del> npx lint-staged </del> <ins> NODE_OPTIONS="--max-old-space-size=7168" npx lint-staged </ins>

Linting fails on local environment in some cases. Issue did not reproduce on GitPod. update-email to the root directory Execution fails with the message under Linting should be successful No response Device: Macbook Air M2 OS: MacOSThis issue was originally raised in Discord: Thread created with the full error log: A contributor also ran into this issue in the past: Note that the lint operation in this one ran against the entire project () rather than a single file.
Thanks for opening this issue. I'm not able to reproduce the issue locally, so I'll need your help with this: Add: after this line: Commit this change using the flag Make a change to and check if you can commit the change without the flag This is to check if those rules are the culprit as I did run into some performance issues with them in the past. Here is our eslint current performance, in case anyone is interested: <img width="521" alt="Screenshot 2023-12-18 at 13 58 26" src=""
Thanks for your help I am still facing the issue. I the two lines after line 89, committed with --no-verify. I a space to and tried to commit without the flag. Attached the stack trace.
It seems like the memory allocation on your machine is capped at 2 GB. I tried reducing the limit to 512 MB using the following command, but could not reproduce the issue still: I'm wondering if it works if you increase the value on your end to . So please try this: In the root, add the following line to the "scripts" block: Then run in the terminal
Fixed it! I tried running but that did not seem to update the memory allocation when I ran Instead, I ran something similar to your command in the terminal - This fixed it. Thanks a lot! Should we add this in the documentation?


Question: extends ../layout block content <del> .jumbotron .col-sm-8.col-sm-offset-2 form(method='POST') </del> <ins> .col-sm-8.col-sm-offset-2.jumbotron form(method='POST', action="/forgot") </ins> h1 Forgot Password input(type='hidden', name='_csrf', value=_csrf) .form-group

Error thrown: The issue seems to be with the dependencies and/or NumPy. Not really sure if it is a peer dependency or if PIL is part of the docker image. Forum post for context The Gitpod boilerplate not to throw errors. 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
I updgraded with : It installed version. After that was giving errors, and after upgrading it: To the version project appears to work fine. might need updating to these versions.

The use of the term "Gender" as an objective feature variable type with a categorical code value type seems to be an outdated understanding of gender and can be potentially offensive or insulting to those who would identify with the LQBT+ community as there are potentially too many genders to possibly categorize I would suggest the use of the term "Sex" as opposed to "Gender" as this will not effect the overall behavior of the project while also ensuring a safe and inclusive environment for those who identify as genders other than man or woman

A file was create. A file was created. I have the first timers only label. Carefully read through the and the section on working with . After you have read through the contributing docs and fixed the typo, then you will make a PR in this . After you make the PR, someone from the team will review it. If you need help, then please ask on the or . 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!

In lesson 10 of Learn Bash Scripting by Building Five Programs, the directions tell you to use this command: . But the command has an extra in questionnaire. The correct command should be !
I'm going to mark this issue for first-time contributors. Here is the file you should be looking at to work on a fix: Please make sure you have read . 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!
Hello, I have worked on that issue and solved it. Also made the PR , please refer it.
please link this issue in the PR, otherwise they are not linked
Hello, I am following guidelines created a new branch installed coderoad v0.9.3 committed changes on file now running command and getting error Please can anyone give any suggestions
The latest version branch from the repository needs to exist locally:
Mentioned PR.
I see this has been solved multiple times but I'm going to add to that as I complete my first contribution. Great documentation by the way! Super easy to setup my local environment!

<!-- 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 requirement "You should set the content security policies to only allow loading of scripts and CSS from your server." breaks the front end page, if it is implemented properly. The helmet security middleware should be at the top of the chain in order to provide maximum benefit to the application. However, if you do this, then the front end page is broken because it relies on jquery to be downloaded from This can be worked around and pass the requirement with a couple of methods, the first is to use the helmet middleware after the route for '/' and before any other routes are defined. The second method is to download a copy of jquery, place it in the project and change to reference the copy. Of the two methods, the second one is more secure as all of your routes have the content security policy and you are controlling the script that is being loaded. This does come at the cost of more disk space and if this was a real world application building a process to watch for updates and/or security fixes to jquery and getting those fixes pushed to the application. Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Mozilla Firefox Browser Version: 86.0 Operating System: Windows 10 If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box): This screenshot shows the network activity without a CSP. Both the favicon from freeCodeCamp and jquery are loaded. The get request is initiated by jquery. ! This screen shot shows the activity when the CSP policy for scripts is set to self. Neither the favicon or jquery are loaded and submitting the form just causes the page to refresh without a call to /api/stock-prices. !
If that's not a part of the task (I'm not sure if it is), then the most convenient might be changing it to not require jquery at all.
Now that I've completed the project and submitted it, I went and looked at the code in demo-projects. The example app, removed the dependency on jquery and hosted its own file with the jquery functionality required rewritten in plain Javascript.

Since the front end piece is not part of the project requirements, I would just update the boilerplate project to use and from the demo-project app.
I made a to the repository to fix this issue. I removed the dependency on jquery and the file from the demo-projects.

Challenge has an issue. User Agent is: <codeMozilla/5.0 (Windows NT 6.1; WOW64; rv:41.0) Gecko/ Firefox/41.0</code. Please describe how to reproduce this issue, and include links to screenshots if possible. My code:
Hi, The anchor a you are using should be <a href=""cat photos</arather than <a href=""cat photos </aYou're missing www in the url. Change it and it should work.
The tests are failing because you need to have your set to
, Thank you so much for your help! :+1:


Question: <ins> name: 'Hide Specific String' description: "Updates a specific string to be hidden" runs: using: 'node12' main: './index.js' inputs: filename: description: 'name of file with specific string to hide' required: true string-content: description: 'text content of string to hide' required: true </ins>

<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --Affected page Your code Copy and paste the code from the editor that you used in between the back-ticks below: Expected behavior Text with the example code is not translatable - which is fine. However, the text lower is translatable and this will create confusion for end users on other languages. Screenshots Untrabslatable example: ! vs. Translatable output of the exmple: ! System (please complete the following information): Device: Laptop OS: Windows 10 Browser: chrome Version: 91.0.4472.77 Additional context Add any other context about the problem here.
I think this is expected behaviour. That is because its and example we would not translate it.
Sure... then the description of the output should not be translated either and right now it is.
I think The description should be translated. Which I understand it currently is. This gives the context of the example that follows. The example text line should NOT be translated because it's a literal output of the code. Which I understand it currently is not. It looks like we would want the current behaviour though I would wait for someone else to confirm.
I was just thinking under translation context: people looking at this page in other languages will see on the page: if you write a text like this (in English): ..... that code produces the output (for example in Romania ): Acesta este ul link către la care poți ajunge. I personally would be confused how English is rendered into Romanian by itself
I believe all the other languages are translating the example and instructions, so you are correct both should be translated.
the example in code can't be translated the example can't be translated, so if the result is translated it will never match in English it says Here's a link to for you to follow. where in Spanish it says Aquí hay un enlace a para que lo sigas. where the second line would be how the code above should appear it is translated in Chinese too, and I think we translated it also in Italian But it stands more correct to be kept in English as actual rapresentation of what the result of the code is
Thanks, that is what my initial thought was like I mentioned.

I think we should get this change in all languages and have a check to catch changes as a warning. can you guide us here?
Unfortunately our current workflow doesn't have a quick way to mark a specific string as non-translatable. I could probably put something together, but IMHO it might be worth re-wording the challenge instead.
Hmm, did Crowdin not have a way to manually mark it non-translatable? I might be mistaken though.
We can do that, yes - we would need to revert the translations for the languages which have translated it. However, I believe that hidden state is lost every time the file is re-uploaded.
Hmm, I see. Thanks for clarifying all this. I am glad that I double-checked with you. Do you mind sending a quick support request to Crowdin, seeking advice?
Sure thing - will add that to the list today and CC you :)
Okay I slept on this, and decided to see if there was a way to automate this process. PR coming shortly.
now that this has been merged do we need to do anything over on Crowdin or in our codebase to reset the strings?
Thanks for the reminder I have gone through and cleared the existing translations for this string - it should come down in English for all languages going forward.
Awesome, thanks for taking care of it.


Question: ], "tests": [ "assert(typeof(diff([1, 2, 3, 5], [1, 2, 3, 4, 5])) === "object", 'message: diff() should return an array.');",  "assert.deepEqual(diff(["diorite", "andesite", "grass", "dirt", "pink wool", "dead shrub"], ["diorite", "andesite", "grass", "dirt", "dead shrub"]), ["pink wool"], 'message: ["diorite", "andesite", "grass", "dirt", "pink wool", "dead shrub"], ["diorite", "andesite", "grass", "dirt", "dead shrub"] should return ["pink wool"].');", "assert.includeMembers(diff(["andesite", "grass", "dirt", "pink wool", "dead shrub"], ["diorite", "andesite", "grass", "dirt", "dead shrub"]), ["diorite", "pink wool"], 'message: ["andesite", "grass", "dirt", "pink wool", "dead shrub"], ["diorite", "andesite", "grass", "dirt", "dead shrub"] should return ["diorite", "pink wool"].');", "assert.deepEqual(diff(["andesite", "grass", "dirt", "dead shrub"], ["andesite", "grass", "dirt", "dead shrub"]), [], 'message: ["andesite", "grass", "dirt", "dead shrub"], ["andesite", "grass", "dirt", "dead shrub"] should return [].');", "assert.deepEqual(diff([1, 2, 3, 5], [1, 2, 3, 4, 5]), [4], 'message: [1, 2, 3, 5], [1, 2, 3, 4, 5] should return [4].');", "assert.includeMembers(diff([1, "calf", 3, "piglet"], [1, "calf", 3, 4]), ["piglet", 4], 'message: [1, "calf", 3, "piglet"], [1, "calf", 3, 4] should return ["piglet", 4].');", "assert.deepEqual(diff([], ["snuffleupagus", "cookie monster", "elmo"]), ["snuffleupagus", "cookie monster", "elmo"], 'message: [], ["snuffleupagus", "cookie monster", "elmo"] should return ["snuffleupagus", "cookie monster", "elmo"].');", "assert.includeMembers(diff([1, "calf", 3, "piglet"], [7, "filly"]), [1, "calf", 3, "piglet", 7, "filly"], 'message: [1, "calf", 3, "piglet"], [7, "filly"] should return [1, "calf", 3, "piglet", 7, "filly"].');"   "assert.sameMembers(diff(["diorite", "andesite", "grass", "dirt", "pink wool", "dead shrub"], ["diorite", "andesite", "grass", "dirt", "dead shrub"]), ["pink wool"], 'message: ["diorite", "andesite", "grass", "dirt", "pink wool", "dead shrub"], ["diorite", "andesite", "grass", "dirt", "dead shrub"] should return ["pink wool"].');", "assert.sameMembers(diff(["andesite", "grass", "dirt", "pink wool", "dead shrub"], ["diorite", "andesite", "grass", "dirt", "dead shrub"]), ["diorite", "pink wool"], 'message: ["andesite", "grass", "dirt", "pink wool", "dead shrub"], ["diorite", "andesite", "grass", "dirt", "dead shrub"] should return ["diorite", "pink wool"].');", "assert.sameMembers(diff(["andesite", "grass", "dirt", "dead shrub"], ["andesite", "grass", "dirt", "dead shrub"]), [], 'message: ["andesite", "grass", "dirt", "dead shrub"], ["andesite", "grass", "dirt", "dead shrub"] should return [].');", "assert.sameMembers(diff([1, 2, 3, 5], [1, 2, 3, 4, 5]), [4], 'message: [1, 2, 3, 5], [1, 2, 3, 4, 5] should return [4].');", "assert.sameMembers(diff([1, "calf", 3, "piglet"], [1, "calf", 3, 4]), ["piglet", 4], 'message: [1, "calf", 3, "piglet"], [1, "calf", 3, 4] should return ["piglet", 4].');", "assert.sameMembers(diff([], ["snuffleupagus", "cookie monster", "elmo"]), ["snuffleupagus", "cookie monster", "elmo"], 'message: [], ["snuffleupagus", "cookie monster", "elmo"] should return ["snuffleupagus", "cookie monster", "elmo"].');", "assert.sameMembers(diff([1, "calf", 3, "piglet"], [7, "filly"]), [1, "calf", 3, "piglet", 7, "filly"], 'message: [1, "calf", 3, "piglet"], [7, "filly"] should return [1, "calf", 3, "piglet", 7, "filly"].');"  ], "MDNlinks": [ "Comparison Operators",

Challenge has an issue. User Agent is: <codeMozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2547.0 Safari/537.36</code. My following code successfully satisfies the criteria and all the tests, except one due to an inconsistency. ! The returned array will be sorted due to my method. The last test has no issue with my output being in sorted order, yet expects the output to retain the same order, as my output is not accepted. This is inconsistent, and it should also accept the answer regardless of its order. To bypass this I would have to implement a check to see if one of the given arrays is empty and if so, return the other as is, which is not part of the exercise's criteria.
Thanks guys!

The Bonfire says "Compare two arrays and return a new array with any items not found in both of the original arrays.". If you can't find an item in both arrays then the result will be infinite. The wording may be less confusing if it says: "Compare two arrays and return a new array with any items in the second array that are not found in the first."
Working on this!
"Compare two arrays and return a new array with any items in the second array that are not found in the first or any items in the first array that are not found in the second." i.e. "Return any items which doesn't exist in both the arrays."


Question: .footer-desc-col { padding-inline: 15px; margin-bottom: 30px; <del> align-self: center; </del> <ins> align-self: start; </ins> } .footer-desc-col a {

The font family for the 'trending guides' and 'mobile app' titles in the footer should be 'Lato', sans-serif and the .footer-desc-col in the footer should be aligned with the trending find the related selector for the footer-desc-col and add the following style align-self: start; Also, find the related selector to the footer titles and add the following style: font-family: var(--font-family-sans-serif); <img width="679" alt="Screenshot 2024-02-07 at 3 26 07 PM" src=""
Hi, I'd like to take this issue please
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.


Question: ## Solution <section id='solution'> <del> ```js // solution required </del> <ins> ```html <style> .bar { width: 25px; height: 100px; display: inline-block; background-color: blue; } </style> <body> <script> const dataset = [12, 31, 22, 17, 25, 18, 29, 14, 9]; d3.select("body").selectAll("div") .data(dataset) .enter() .append("div") .attr("class", "bar") .style('height', d => `${d}px`) </script> </body> </ins> ``` </section>

<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --Tests are not passing with correct code. Curiously, the "The fifth div should have a height of 25 pixels" test is passing, but none of the others. DOM elements are rendering correctly with appropriate inline style. Browser Name: Chrome Browser Version: 68 Operating System: Chrome OS !
it passed for me on firefox and chrome with the code in the picture - were you able to get it to pass?
Oddly enough, no. I find it very strange that I can get the fifth test to pass, but none of the others, no matter what I do.
yea, im not sure - did you try resetting the code and doing it again? is there any errors in the console? Try another browser maybe
Yes to reset, no to errors. If it's a browser problem, that's an issue for people using Chromebooks like myself.
I got the same scenario as . Only the fifth test is passing. Browser Name: Chrome Browser Version: Version 71.0.3578.98 (Official Build) (64-bit) Operating System: MacOS Mojave Version 10.14.2 I tried completing the challenge in Firefox and it passed. Similar users are having problems:
does not work on Chromium - Version 75.0.3770.100 (Official Build) Arch Linux (64-bit) works on Firefox 67.0.3
my browser: Versione 77.0.3865.120 (Build ufficiale) (a 32 bit) on Windows 10 Home v1803 no test passes with callback
Pretty sure the problem is similiar to the problem on
Yep looks like yet another zoom bug with Chrome. We can check the inline styles set instead for the test. I will make a PR.


Question: # --description--  ++**Objective:** Build an app that is functionally similar to https://personal-portfolio.freecodecamp.rocks. **Do not copy this demo project**.   **Objective:** Build an app that is functionally similar to https://tribute-page.freecodecamp.rocks. **Do not copy this demo project**.  **User Stories:**

The link above should be: The link to the demo project should link to the demo Tribute Page but links instead to the demo Portfolio Webpage. 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 reporting the issue. We should also update the text to remove the at the start of the sentence. This issue is open to first-time code contributors to this repository. The file that you should be updating is 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.
Hi! I've created a pull-request for this issue: The only thing that I am worrying about, is tests. Although it's really tiny pull-request and nothing should break, I've tried to run tests just for my interest. But even on a new forked repository without any changes, I have one test fail (see screenshot). <img width="1059" alt="image" src=""I'm sure this has nothing to do with my pull-request, given that this error appears even without any changes. But, for the future, maybe you can tell me if I’m doing something wrong? Or is the problem in the tests?
That looks like a flaky test. Please help open a new issue for it.


Question: Read these guidelines in 	  English 	   中文 	  русский 	   عربي 	   Español 	    中文 	   Português 	   Русский 	  Español 	  Ελληνικά

Describe your problem and how to reproduce it: When you try to change contibution guidelines language - you'll see how the languages table's order is desynchronized and in several languages you cannot find new Greek language. Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Chrome Browser Version: Version 74.0.3729.169 (Official Build) (64-bit) Operating System: Windows 10 Pro 1809 If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box): !


Question: // (re)initializes the plugin var reset = function() { requests = 0; <del> plugin = new jailed.Plugin(path+'plugin_v0.1.2.js', api); </del> <ins> plugin = new jailed.Plugin(path+'plugin_v0.1.3.js', api); </ins> plugin.whenDisconnected( function() { // give some time to handle the last responce setTimeout( function() {

the first line in the function says - it wont pass testing unless you change it to Browser Name: Firefox Browser Version: 60.0.1 Operating System: High Sierra ! <hr!
You don't have to it, but because of strict mode it does need to be declared with , , or .
so its missing the then?
That's how I would update it.

i am suspecting another small bug, the next challenge after succesful code run in Bonfire: Chunky Monkey actually points to itself


Question: } } <del> function countOnline(usersObj) { </del> <ins> function countOnline(allUsers) { </ins> // Only change code below this line // Only change code above this line

This seed code can lead to a bit of confusion because the global variable name and parameter name are pretty similar What about isn't my favorite if someone has another idea. I just don't like when the type isn't strictly needed. No response All No response
can I work on this if anyone is not working?
This issue isn't ready for PRs yet
One idea for naming: -or -
I went with something other than because 1) that's the example 2) at least one learner has has said was a little hard to grok at first We could change the example (and maybe we should in light of 2?)
I can appreciate the idea behind it but I don't think the names should imply they are different things, and are not the same thing. Wouldn't just changing to for the parameter and leaving the object name as is work?
We can use that as the parameter name; I like it better than . This still doesn't fully handle the user complaint though. I see two problems 1) is a really awkward variable name. Swapping to fixes this. 2) Given the example, its an easy bug for users to write instead of the intended . Not sure if we want to address this or ignore this. Changing the global object name seems to be the best way to address this.
Maybe what really needs to be done is to change the example to something else, like maybe or something like that?
If we change the parameter we should change the example as well. Either to something unrelated and change the text as needed, or it would need to use as well. I think we are, in part, trying to fix the underlying issue of campers not fully understanding parameters and arguments. Which I'm not sure how or where to address. I think the code highlighter isn't helping either. Usually, const and arguments are colored differently from parameters and reassignable variables. As an example (I changed the loop to use const as well) !
Not sure how I feel about the parameter name but it might work.
I like the direction. How about Instructions Sometimes you need to iterate through all the keys within an object. You can use a </dfnloop to do this. The </dfnloop looks like: This code logs and , with each value on its own line.

We defined the variable in the loop head and this variable was set to each of the object's keys on each iteration, resulting in each food's name being printed to the console. We've defined a function which accepts one argument, . Use a </dfnstatement inside this function to loop through the object and return the number of users whose online property is set to . An example of an object which could be passed to is shown below. Each user will have an property set to either or . Seed Code I think this way we use your better parameter name and we swap the example for something that doesn't lead the learner to the bug.
I think it looks good. As an aside, if we are documenting how works we should show how to access the properties on the object (in the example). I know we have taught how to use variables with objects and making them bridge the gap might force the learner to think about it more. But it feels a little wrong to me to teach without actually showing how to use it.
Small tweak for that: Instructions Sometimes you need to iterate through all the keys within an object. You can use a </dfnloop to do this. The </dfnloop looks like: This code logs and , with each key-value pair on its own line. We defined the variable in the loop head and this variable was set to each of the object's keys on each iteration, resulting in each food's name being printed to the console. We've defined a function which accepts one argument, . Use a </dfnstatement inside this function to loop through the object and return the number of users whose online property is set to . An example of an object which could be passed to is shown below. Each user will have an property set to either or . Seed Code


Question: const res = await fetch('https://pokeapi-proxy.freecodecamp.rocks/api/pokemon/pikachu'); // Fetch from proxy to simulate network delay if (res.ok) { <del> await new Promise(resolve => setTimeout(resolve, 50)); // Brief additional delay to allow UI to update </del> <ins> await new Promise(resolve => setTimeout(resolve, 1000)); // Additional delay to allow UI to update </ins> assert.lengthOf(typesEl.children, 1); assert.strictEqual(typesEl?.children[0]?.innerText.trim().toLowerCase(), 'electric');

When testing one camper's code it fails some tests unless I increase all the delays to 1000ms, I tested with 500ms but that was not enough. I also saw the example project fail a test but it does pass more consistently (my guess is it is just faster with fewer async functions). To be on the safe side we should have a longer delay. I know 1000ms is a lot but better safe than sorry. Tests: Valid code should not fail because of "timing" issues. 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] Forum:
As this is a bug with a certificate project I the showstopper label.


Question: # --description-- <del> JavaScript has seven primitive data types, with `String` being one of them. In JavaScript, a <dfn>string</dfn> represents a sequence of characters and can be enclosed in either single (`'`) or double (`"`) quotes. </del> <ins> JavaScript has seven primitive data types, with String being one of them. In JavaScript, a <dfn>string</dfn> represents a sequence of characters and can be enclosed in either single (`'`) or double (`"`) quotes. </ins> Note that strings are <dfn>immutable</dfn>, which means once they are created, they cannot be changed. The variable can still be reassigned another value.

There are some small issues that need to be fixed in the following files: optionfor elementsinline"Check your code" String` This looks like something that can be fixed by "first-time" code contributors to this repository. The files you should look at to work on a fix are those linked above. 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.
Hi I'd like to work on this issue. Thanks
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.


Question: var image = !{JSON.stringify(image)}; .spacer <del> h3.row.col-xs-12 </del> <ins> h3.row </ins> .row.text-left.negative-10 .col-xs-3.col-sm-1.text-center .row.negative-5

! In Firefox 36.0.1 on OS X 10.9.5 Link:
Firefox appears to be jamming the comment-list on top of the display area for the main story.
Those elements are floating left because of .col-xs-12 on the h3.


Question: --- id: 56bbb991ad1ed5201cd392ce <del> title: Manipulate Arrays With unshift() </del> <ins> title: Manipulate Arrays With unshift Method </ins> challengeType: 1 videoUrl: 'https://scrimba.com/c/ckNDESv' forumTopicId: 18239

Describe the bug Having special character in the slug, title, or heading of the challenges lead to broken structure as shown in the image below. Originally reported by ! These challenges are the translation of these. ! Although we can not add them in the Arabic translation, this is a fix to the side effect, because Arabic isn't the only RTL language with translation efforts. I think it's better to not include special characters in the heading, if they aren't wrapped in spaced, example 'the Logical And Operator &&'. So I suggest two solutions: Delete special character, if they aren't wrapped around spaces, like change "push()" to "push". Add code block around functions and methods, to be something like .
Would it be acceptable to spell these out a little more? Instead of We could do Not only do we get rid of the special characters but it possibly makes it a little clearer for people listening to the page.
In translation, that's perfectly fine . Good call.


Question: ### --feedback-- <del> Places to eat or drink. Don't forget the stress mark. </del> <ins> Places to eat or drink. Don't forget the stress mark (`é`). </ins> ---

Describe the bug Task 37 requires typing in one of the blanks. This can be problematic due to the letter, which might not be present in the used keyboard layout. Expected behavior I don't want to say to use completely different word for the fill the blank, as at some point there might be no other choice. There could be some kind way to ease up procuring of the letter in question, for example including it in the feedback, so it can be copied.
Hi I would love to work on this. If someone could point me in the right direction, that would be amazing!
Hi Thank you for being eager to contribute. This issue has not been triaged yet. Feel free to share your insights and ideas on the matter. However as far as the code contributing, take a look at the issues with label. 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. Thank you and happy coding.
Yes, I think in both of those challenges we can update the "Don't forget the stress mark." in the feedback to: "Don't forget the stress mark ()."
I will open the issue to contribution with this as the solution


Question: padding:10px 0; padding-left:50px; padding-right:20px; <ins> cursor: pointer; </ins> } a {

On the map, if I hover my cursor over a link, it shows the text selection cursor, not the clicker cursor.
I get both pointers and text selectors in Chrome. Same with a big map (full page). !


Question: import CollegeAlgebra from './college-algebra'; import CSharpLogo from './c-sharp-logo'; import A2EnglishIcon from './a2-english'; <ins> import B1EnglishIcon from './b1-english'; </ins> import RosettaCodeIcon from './rosetta-code'; const iconMap = {

The B1 English icon isn't available, so we are temporarily using the A2 icon for this superblock. <img width="709" alt="Screenshot 2024-09-11 at 05 43 53" src=""An icon for B1 should be created (it should look similar to the A2). Link to the A2 icon: You will need to make the following change to your file in order to see the B1 superblock:


Question: "assert($('h1').length > 0, 'Make your h1 element visible on your page by uncommenting it.')", "assert($('h2').length > 0, 'Make your h2 element visible on your page by uncommenting it.')", "assert($('p').length > 0, 'Make your p element visible on your page by uncommenting it.')",  "assert(!new RegExp('-->', 'gi').test(editor), 'Be sure to delete the --> that ends the comment.')"   "assert(!new RegExp('-->', 'gi').test(editor), 'Be sure to delete all trailing comment tags, i.e. -->.')"  ], "challengeSeed": [ "

Challenge has an issue. Please describe how to reproduce it, and include links to screen shots if possible. Below is link to screen. Issue is that even after deleting the --that ends the comment, I am not allowed to go to my next challenge ! Uncomment HTML Uncomment your h1, h2 and p elements. Commenting is a way that you can leave comments within your code without affecting the code itself. Commenting is also a convenient way to make code inactive without having to delete it entirely. You can start a comment with <!-- and end a comment with --. Less information Go to my next challenge (ctrl + enter) Help Bug Make your h1 element visible on your page by uncommenting it. Make your h2 element visible on your page by uncommenting it. Make your p element visible on your page by uncommenting it. Be sure to delete the --that ends the comment. 1 <!--2 <h1Hello World</h13 <!--4 <h2CatPhotoApp</h25 <!--6 <br7 <!--8 <pHello Paragraph</p
The problem is that you still have a few comments, , in your code, and the test cases check to make sure you don't have any trailing comment tags, in there. I'll submit a PR in a second that slightly alters the words used in the waypoint, but I'm not sure it should be necessary.
Thx Lumen! Just so I'm clear, I need to delete ' <!--' all throughout the code?
Exactly :)
Fixed in


Question: var _ = R; var dashed = !{JSON.stringify(dashedName)}; <del> .col-xs-12.col-sm-12.col-md-8 </del> <ins> .col-md-8.col-lg-9 </ins> .editorScrollDiv(style = "overflow-y: auto; overflow-x: hidden;") #mainEditorPanel form.code

A camper relayed this to me: There is some problem with the first challenge ending button on android with firefox browser. And in this moment I tried in chrome too, the issue is the same, the button is not active after the challenge is done. Xperia Z1 compact, android: 5.0.2, firefox: 39.0 Chrome: 43.0.2357.93
This is an issue whenever the screen size is small. It will also happen on a desktop if you resize the window to half screen or less.


Question: **Examples** ```js <del> 3 ===  3 3 === '3' </del> <ins> 3 ===  3  // true 3 === '3' // false </ins> ``` <del> These conditions would return `true` and `false` respectively. </del> In the second example, `3` is a `Number` type and `'3'` is a `String` type. # --instructions--

The student has to go all the way down up to the explanation "In order, these expressions would evaluate to true, false, true, and true." to realize what the result of the operations is. My suggestion is that the second section of the code should look like this: 1 == 1 // true 1 == 2 // false 1 == '1' // true "3" == 3 // true instead of the screenshot attached. <!-- Add a link to the coding challenge with the problem. -- <!-- If applicable, add screenshots to help explain your problem. you can drag and drop, png, jpg, gif, etc. in this box. --!
I would be fine with this change. Any interest in making a PR for it
, Can I? I don't know how to do it and I have never done it in my life, but besides that, I would like to do it by myself using some guide you could give me. I have never used GitHub in the past. And this will help me to contribute even more to this awesome project.
We have some . It may look a little intimidating, but if you follow the instructions it's not bad. The file where this needs to be fixed is Technically, you can edit the file on github and make a PR from there - which can work for some simple fixes, but you can't see and test your changes. I think we would accept those if you want to do that, but I would recommend setting the project up locally at some point if you want to contribute regularly. To be clear, we usually like to get second opinion before making changes like this - since we don't have that, I can't guarantee a PR would be merged - but I think others would be fine with the change so if you want to make a PR, go ahead.
This change seems good. For context, we got rid of a lot of comments since we'd need to translate them. However, these are keywords and don't need translation.
shall I take this up?
Could you clarify if this is actually what we wanted, because this is exactly what we removed 12 months ago in:
Yes, this is okay because these instances specifically are only keywords that don't get translated anyway.


Question: projectFormValuesSelector } from '../redux'; import { tap, mapTo } from 'rxjs/operators'; <ins> import { transformEditorLink } from '../utils'; </ins> import envData from '../../../../../config/env.json'; const { forumLocation } = envData;

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.


Question: extends ../layout-wide block content .row <del> .col-xs-12.col-sm-12.col-md-4.bonfire-top </del> <ins> .col-md-4.bonfire-top </ins> h1.text-center= name .well h4

A camper relayed this to me: There is some problem with the first challenge ending button on android with firefox browser. And in this moment I tried in chrome too, the issue is the same, the button is not active after the challenge is done. Xperia Z1 compact, android: 5.0.2, firefox: 39.0 Chrome: 43.0.2357.93
This is an issue whenever the screen size is small. It will also happen on a desktop if you resize the window to half screen or less.


Question: inputVal: 1, marginTop: -200, addElDelay: 2000, <del> msg: 'decimalToBinary(1) returns "1" (base case) and gives that value to the stack below. Then it pops off the stack.', </del> <ins> msg: "decimalToBinary(1) returns '1' (base case) and gives that value to the stack below. Then it pops off the stack.", </ins> showMsgDelay: 5000, removeElDelay: 10000, }

in step 99 of the decimal to binary project (js beta), the instructions are: Set the value of the msg property to the following string: Example Code "decimalToBinary(1) returns '1' (base case) and gives that value to the stack below. Then it pops off the stack." Note that, since the string itself contains double quotation marks, you'll need to escape them with a backslash, or use single quotation marks for your string value. The remarks at the end say we need to escape the 'double quotation marks' in the string, but the string doesn't have any double quotation marks and I'm able to copy the string as-is and submit it with success to move onto step 100. However, in step 100, the string suddenly changes in the code and becomes: 'decimalToBinary(1) returns "1" (base case) and gives that value to the stack below. Then it pops off the stack.' And now we can see the double quotes that step 99 was referring to. I'm not sure what happened between step 99 and 100 but I think it is confusing and some fix (to one or the other of these steps) is needed. The above is what I have in the editor in step 99 when I click submit and successfully move forward to step 100. N/A No response N/A No response
As I can see, in the step 99, it shows how to use single quotation marks instead of double so that the string works. And in the 100th step it makes a swap in the use of single and double quotation marks. Is there a need to make the swap in the quotation marks in step 99? As the note would then become useless and would need to be changed also
How do you explain the note? I didn’t see double quotation marks in the string that need a backlash , did you?
All I can infer from the note is that to emphasize that 1 by either "1" or '1' a backlash is required or the need to change the quotation so that it does't count that string as ending at that point. The message has chosen the latter solution.
That is not how you should interpret the note. It clearly uses present tense when it says “the string itself contains quotation marks”. This is undeniable and needs an appropriate fix.

But it's indirectly stating to use whichever method to print the required message right? Possibility1: "decimalToBinary(1) returns '1' (base case) and gives that value to the stack below. Then it pops off the stack." Possibility2: "decimalToBinary(1) returns "1 " (base case) and gives that value to the stack below. Then it pops off the stack." I just made the msg same as step 100
And for that double quotation mark, the note says as the string starts with ", it should end with ", and thus it can't use simply " for "1" and need to use '1' instead. Backlash would be another method to amend this issue as I stated in the message above.
Specifying why it's bad would be a little helpful rather than thumbs down, no?
It's a bit odd that step 100 uses single quotes for the string, while other strings in the file use double quotes instead. To simplify things, I think we could: Remove the note from step 99 Swap the quotation marks of the string from step 100 onward: -
thanks. Incorporated both of your suggestions in the linked PR.


Question: a = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]) # Output: <del> # [[ 1  2  3  4  5] </del> <ins> # [[ 1  2  20  4  5] </ins> # [ 6  7 20  9 10]] ``` answers:

Describe your problem and how to reproduce it: The output does not align with the question, nor does it align with the code. I suspect this is what the output was meant to be: Also, I would suggest the formatting of the code to change. Ie. spacing between numbers and , and spacing between numbers. Add a Link to the page with the problem: If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box): !
Thanks for catching this I remember copying the output directly from the console, but I must have messed up the spacing while adding the hashes. Took another look and this is what the console outputs: So perhaps it can be: Or with the spacing at the end like you suggest:
, well. What was your intent? I assumed the output was there as an example for what the end result should become. Ie. after performing: Or, was the output just another representation of the output of the ? I suggest it be the expected output of the code the user needs to select, as this helps the user clarify what needs to be done.
right, my intent was to show what the expected end result would be after running . So really the output should be not like it is now. My mistake. I must have forgotten to change the output when I was writing these questions.
Is someone working on this? Can I work on this?
, I am unsure of anyone working on this. You can go ahead, if you want.
Okay. I will be working on it.


Question: import OfflineWarning from '../OfflineWarning'; import Flash from '../Flash'; import Header from '../Header'; <ins> import Footer from '../Footer'; </ins> import './global.css'; import './layout.css';

!
I think 'settings ' is better UI, clearer and more obvious for users. Also think 'home' would be better than clicking freeCodeCamp word and icon which doesn't actually look like a button.
I agree. We should have both: a user photo and settings link - both of which will point to the settings. Is this something you'd be interested in helping us implement?
I'd be happy to but I've got a bunch on at the moment so might be a few weeks before I get a chance to look at it. I've it to my to-do list but in the meantime anyone else can pick it up. I'll add a comment if I start working on it.
I would appreciate it if someone told me what I should do and the progress of this issue.
Are you still interested in helping tackle this issue? I think we could add both a "home" button (which would take them to the "welcome page" to the navigation, and a "settings" link to the left of their photo (both the photo and the "settings" link would redirect them to /settings).
see my email - however for this issue I think I saw something being done in another PR which has changed the navs - www, learn and settings are all now different
Yes - we're trying to make the navigation universal across different services. We will add the settings button to the nav when we do so.
Hey there, is this issue still up for grabs? Also, are the requirements still as defined in It seems like it might have changed a bit from reading the conversation above. Thanks!
pointed out to me that we have a number of different navigations. I was wondering if you would be interested in a complete nav redesign to make it more comprehensive and more user friendly?
What is the current of this issue? Can I be of any help?
Thanks for your patience. We want to build a universal navigation component that exists on every page - including the Guide and Learn. Rather than add a ton of buttons up top, we want to add a footer that has links to all the various pages currently linked from The main problem with having a footer is that the curriculum view has 3 independently scrolling elements. Would you be interested in taking a crack at designing this? And We would welcome your help as well if you're interested in collaborating on this.

I made a quick pen at one point that I thought might be a good design to implement or build on... - basically just took all the parts we have on various pages and put them together.
Here's a list of what we might want in a footer.
I suggest finalizing the links that we need to include in the footer and then start working on the footer component. here is a link to bootstrap official sticky footer template: for large number of links, It is the industry standard to group the links for the footer. so we probably need to think of that. here are some examples: khanacademy: <img width="1234" alt="screen shot 2018-12-26 at 7 07 05 pm" src="https://user-"Udacity: <img width="1216" alt="screen shot 2018-12-26 at 7 07 43 pm" src="https://user-"EDX: <img width="1192" alt="screen shot 2018-12-26 at 7 08 12 pm" src="https://user-"Slack: <img width="1304" alt="screen shot 2018-12-26 at 6 59 48 pm" src="https://user-"
Any ideas for resolving the 3 scroller issue Qunicy mentioned? I think if we had only one scroller, the user had to scroll to the bottom of the page anyway to get the footer. Right now, i get a pretty similar behavior. when I have my cursor on a scrolling component and scroll to the end I am able to go where the footer component would be. So I don't think it is a major issue because the behavior is similar.
I like the simplicity of Khan Academy's footer, with it's mission statement and call to action on the side: freeCodeCamp is a donor-supported tax-exempt 501(c)(3) nonprofit organization (United States Federal Tax Identification Number: 82-) Our mission: to help people learn to code for free. We accomplish this by creating thousands of videos, articles, and interactive coding lessons - all freely available to the public. We also have thousands of freeCodeCamp study groups around the world. Donations to freeCodeCamp go toward our education initiatives, and help pay for servers, services, and staff. You can .

Columns: Our Nonprofit Our Community Our Learning Resources
Here is a quick pen. any thoughts?
This looks great! Very nice clean design, good use of whitespace, and good responsivity.
I have a working footer, and as Qunicy mentioned it does affect the user experience when placed under three scrolling divs. here are some solutions. the separating the columns separating the three panels so campers have something to grab onto to scroll the whole page rather than individual panels; a an expandable fixed bar at the bottom. a sticky expandable small footer at the bottom. removing the footer on this page. Let me know about your feedback so I could proceed with finalizing the footer. Thanks P.S there are other issues with the UI's grid system and markdown that affects the footer implementation. I addressed them in a separate issue.
There's already a lot going on in this area. More scroll bars seems like clutter and possible confusion... I like the expandable option(s) or... the footer within the lesson panel?
Thanks that is definitely an option. we should see how it would like in action. I also like the small expandable option. so if it does get in the way of the user, at least it is a small distraction. I included a gif of the current state of the footer in different screens. let me know what you think. btw, how does the style and the color look? !
Looks good, I was thinking more of a green background to match the nav, but the gray and green buttons look good... might want to get Quincy's opinion there. And actually, that looks pretty good just putting it at the bottom of the other panels... the scrollbar is hidden until you scroll down - I suppose it might be different on other browsers. It could maybe use some white space or something to separate it from the lesson panels a little. But overall, it looks real good - nice job!
I want to be an active participant in designing the footer but as you know I am presently inactive in the community. Fortunately, I landed here while I was looking at the issues. I want to share some ideas on this. Amazing work there . I am a big fan of GitHub's footer! We should do something similar. We should put the full footer only on the main homepage.

Few primary links may be put on the authorized user's welcome page. Some screenshots will clear the design I have in mind. ! ! ! ! And I am totally against putting footer on the platform. Before making any UI change we should ask ourselves "As a camper will it improve my learning experience?". Putting footer on platform will not. Presently, we have a lot of scrollbars and buttons on learn platform and putting footer there will conjust things up more. So, no footer on is the way we should be going :)
thanks for the valuable input. That is the industry standard to implement footers. So ideally the footer component will receive some props depending on the page that the user is visiting and output a custom footer. Let's wait for output to see which direction he would like us to pursue.
Nice design of the footer. I was wondering if for the social media part(FB, twitter, medium, Youtube etc.) we could change it to logos.
That looks solid! Rather than simplify the footer as GitHub has done, I propose we keep it the same everywhere so people don't have to adapt to the fact that the footer changes from page to page. We want to keep our navigation up top the same on every page, too. Regarding having the footer on Learn - we do eventually want to do this, but we need to figure out how. As pointed out, with the current multi-pain scrolling, having a footer would be a pain. Let's worry about that later, and focus instead on creating a common component we can use on all the non-learn pages. Since you've already got a working design of the footer, are you interested in tackling this?


Question: {allChallengeNode ? renderMenuItems(allChallengeNode) : null} </ListGroup> </FullWidthRow> <del> </div> </del> <ins> </Grid> </ins> </LearnLayout> ); }

Describe the bug Unnecessary horizontal page scroll bar. It is not the scrollbar, its the page scroll bar. To Reproduce Steps to reproduce the behavior: to , it does not occur in all pages. for the page horizontal scrollbar (Not the scrollbar). Expected behavior No horizontal scroll bar. Screenshots  Desktop: I have no other env to test. OS: Ubuntu. Browser: chrome, chromium, firefox. Version: not applicable. Additional context This visual problem is generated by: Applied to:


Question: } = user; if (isLocked) { <del> return renderIsLocked(username); </del> <ins> return renderIsLocked(username, isSessionUser); </ins> } return ( <Fragment>

The Portfolio button in the nav only takes me to my locked down profile. The settings button should be available on the user profile even when my profile is private and I am signed in. ! Edit raisedadead: We probably missed this while adding tests. Anyone interested can would be awesome if you could add tests while fixing this.
The settings button should be displayed here regardless of privacy settings.
You beat me to this, I opened without looking at the tracker.
Hi guys. I want to get and fix that issue.


Question: # --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--

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.


Question: 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;

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).


Question: <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

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.


Question: "description": [ "Wrap your img element inside an anchor element with a dead link.", "You can make elements into links by wrapping them in an anchor tag.",  "Wrap your image in an anchor tag. Here's an example: <a href='#'><img src='http://bit.ly/fcc-kittens2'></a>",   "Wrap your image in an anchor tag. Here's an example: <a href='#'><img src='http://bit.ly/fcc-kittens2'/></a>",  "Remember to use the hash symbol as your anchor tag's href 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." ],

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. !


Question: "Tu navegador ejecutará todo JavaScript dentro de un elemento script, incluyendo jQuery.", "Dentro de tu elemento script, agrega este código: $(document).ready(function () { A continuación, ciérralo en la línea siguiente (aún dentro de tu elemento script) con: })", "Más adelante aprenderemos más acerca de funciones. Lo importante es saber que el código que pongas dentro de esta función (function) se ejecutará tan pronto como tu navegador haya cargado la página.",  "Esto es importante porque sin su función de documento listo, su código puede ejecutarse antes de que se haya presentado el HTML, lo que podría causar errores."   "Esto es importante porque sin tu función de documento listo, tu código puede ejecutarse antes de que se haya presentado el HTML, lo que podría causar errores."  ] }, {

[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


Question: It's time to set up *Passport* so we can finally start allowing a user to register or login to an account! In addition to Passport, we will use Express-session to handle sessions. Using this middleware saves the session id as a cookie in the client and allows us to access the session data using that id on the server. This way we keep personal account information out of the cookie used by the client to verify to our server they are authenticated and just keep the *key* to access the data stored on the server. <del> To set up Passport for use in your project, you will need to add it as a dependency first in your package.json. `"passport": "^0.3.2"` </del> <ins> To set up Passport for use in your project, you will need to add it as a dependency first in your package.json. `passport@~0.4.1` </ins> <del> In addition, add Express-session as a dependency now as well. Express-session has a ton of advanced features you can use but for now we're just going to use the basics! `"express-session": "^1.15.0"` </del> <ins> In addition, add Express-session as a dependency now as well. Express-session has a ton of advanced features you can use but for now we're just going to use the basics! `express-session@~1.17.1` </ins> You will need to set up the session settings now and initialize Passport. Be sure to first create the variables 'session' and 'passport' to require 'express-session' and 'passport' respectively.

Advanced Node and Express section needs package versions to the instructions, as discussed in: Example: " Add <codepassport.socketio</codeversion <codeX.X.X</code, <codeconnect-mongo</codeversion <codeX.X.X</code, and <codecookie-parser</codeversion <codeX.X.X</codeas dependencies and require them as <codepassportSocketIo</code, <codeMongoStore</code, and <codecookieParser</coderespectfully. " Before this is undertaken: [x] Wait for to be merged [ ] Discuss which versions to use and how to convey this ( or )
I am leaning more toward the requirement, myself. With the carat prefix, will install the latest minor version. In theory, updates to the minor version are backwards compatible and shouldn't create any issues with the tests or challenges. However, minor versions can include depreciation notices like . The feature will still work, but this could be confusing to a camper. Using the tilde prefix means will install the latest patch version, which includes bug fixes but shouldn't lead to any depreciation notices. I think this will offer the best long-term compatibility with our tests and challenge instructions.
Well, it has happened: Last versions which definitely work: I have tested this. Now, discussion: 1) Just ask for to be installed 2) Also change the lesson/code to work with this latest version?
Hey how is this show stopper coming along?
Ah yes... I have updated the label, because it should have been removed by . Can a PR automatically remove an issue's label? Otherwise, this issue is still open and help wanted , as there are many packages which need their versioning fixed. If no one else, I can slot in some time for this tomorrow.
No rush. Thanks for confirming, I have removed the assignment since this is no longer a showstopper.
thank you so much for the Thank you for the suggestion. It helped me alot


Question: } } <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(); }

<!-- 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?


Question: id: 567af2437cbaa8c51670a16c title: Testing Objects for Properties challengeType: 1 <del> videoUrl: 'https://scrimba.com/c/c6Wz4ySr' </del> forumTopicId: 18324 dashedName: testing-objects-for-properties ---

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.


Question: ); ``` <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) =>

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:


Question: </div> <ins> ### After Test <div id='js-teardown'> ```js const removeJSComments = str => str.replace(//*[sS]*?*/|//.*$/gm, ''); ``` </div> </ins> </section> ## Solution

<!-- 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,


Question: } render() { <ins> // set color based on theme style.base.color = this.props.theme === 'night' ? '#fff' : '#0a0a23'; </ins> return ( <div className='donation-elements'> <FormGroup>

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


Question: // 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');

<!-- 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.


Question: .honesty-panel p { margin-left: 10px; margin-right: 10px; <ins> font-family: 'Lato', sans-serif; </ins> } .honesty-panel {

<!-- 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):


Question: 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.

<!-- 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!