Question: #### Relevant Links  *   Array.prototype.map *   String.prototype.split *   Array.prototype.join   *   Array.prototype.map *   String.prototype.split *   Array.prototype.join  ## ![:sunflower:](https://forum.freecodecamp.com/images/emoji/emoji_one/sunflower.png?v=3 ":sunflower:") Intermediate Code Solution: ```javascript <del> // Solution with Regular expression and Array of ASCII character codes function rot13(str) { var rotCharArray = []; var regEx = /[A-Z]/ ; str = str.split(""); for (var x in str) { if (regEx.test(str[x])) { // A more general approach // possible because of modular arithmetic // and cyclic nature of rot13 transform rotCharArray.push((str[x].charCodeAt() - 65 + 13) % 26 + 65); } else { rotCharArray.push(str[x].charCodeAt()); } } str = String.fromCharCode.apply(String, rotCharArray); return str; </del> <ins> // Solution with Regular expression and Array of ASCII character codes function rot13(str) { var rotCharArray = []; var regEx = /[A-Z]/; str = str.split(""); for (var x in str) { if (regEx.test(str[x])) { // A more general approach // possible because of modular arithmetic // and cyclic nature of rot13 transform rotCharArray.push((str[x].charCodeAt() - 65 + 13) % 26 + 65); } else { rotCharArray.push(str[x].charCodeAt()); </ins> } <ins> } str = String.fromCharCode.apply(String, rotCharArray); return str; } </ins> <del> // Change the inputs below to test rot13("LBH QVQ VG!"); </del> <ins> // Change the inputs below to test rot13("LBH QVQ VG!"); </ins> ``` ### Code Explanation:

Describe your problem and how to reproduce it: First Issue: The Basic solution uses call() function but doesn't include any reference to it. Second Issue: The Basic solution doesn't work when you use it as a solution for the challenge. You get the following error on the beta site: I guess setting to fixes this issue. Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Mozilla Firefox Browser Version: 66.0.5 Operating System: Windows 10 One more thing. The error generated on the old site is helpful whereas the one on the new site isn't. Probably something to look at.
That is a valid point regarding the error message, but that is a different issue related to how the challenge tests are ran. I have gone ahead and created a PR () to address the solution in the Guide, but the last issue you mentioned will have to be discussed in a separate issue (feel free to create it if you have the time). I could not find any outstanding issues regarding why this does not show the error "assignment to undeclared variable x" which does show in the actual browser console. Are errors like this being suppressed on showing in the fake console for any reason?


Question: <Row> {!closeLabel && ( <Col sm={10} smOffset={1} xs={12}> <del> <b>Nicely done. You just completed {blockNameify(block)}.</b> </del> <ins> <b>Nicely done. You just completed {blockNameify(block)}. </b> </ins> {donationText} </Col> )}

<img width="1396" alt="Notifications_Twitter" src="https://user-"


Question: <del> export const nightThemeStyle = ` <style> html{ color: white; } a { color: #99c9ff; } </style> `; </del>

I did not see anyone raising this issue, but I don't think the background of the preview in default or night mode should be anything other than white unless the coding exercise specifically changes the background to something else. The preview should be exactly what you would see in a browser. In almost all the challenges, the background would be white. !
I share your concerns The reason we changed the color of the display is that a white display is discomforting to the eye on night mode when everything else is dark. so we injected some styles to harmonize the view in general. That convention was carried over to light mode.
It might be better to default to white in light mode, same as the editor. As for night mode, some of the css challenges might need some changes to look reasonable in both modes. For instance, in night mode, looks like this: ! If we change the seed code to it would become ! It would have to be case-by-case, though.
That is a very good point. I will defer this to
Logically, I have to agree with - displaying anything other than what the code in the editor would produce might confuse campers. But it is a little rough on the eyes to have the white background on night mode. And the current theme looks a lot better - so it's a tough call. I scrolled through a number of challenges, and there's quite a few that don't look right with the blue background. So there might be a decent amount of work to go through and fix all of them.
I really like the new theme, but a preview should be a true preview. We want to make this like the real world. Developers working in some kind of night mode on their favorite local editors, still expect to check the "real" result of the code they have written on a browser or in a preview mode in their local editors. The night mode should only apply to the editor or the non-preview part of the FCC site. Anything else is just not realistic.
The preview should be white.
I agree with everyone here on this thread. The preview should remain white. Note that soon the preview won't always be there on the right side "brightening up" the user interface and ruining people's night mode experience.

Soon we will have a single column layout where you the preview only shows up when you click a button to show it, or it loads in a separate tab. - could you update the styling on this so that the preview area is unaffected by our styling?
Definitely.


Question: return submitter(type, state).pipe( tap(() => navigate(introPath ? introPath : nextChallengePath)), concat(closeChallengeModal), <del> concat(showDonate), </del> filter(Boolean) ); })

Donate modal is rendered/animated twice when invoked
Steps to reproduce. Complete at least 9 challenges. See modal once per session.
alternatively, change this line to true and get the modal after completion of each challenge.
Just in case someone tackle this before I get back to it. it seems like the app gets updated after the donate modal is up. so that might be causing the flashing. redux devtools actions order: <img width="338" alt="screen shot 2019-02-22 at 6 46 38 pm" src="https://user-"devtoolds error: <img width="642" alt="screen shot 2019-02-23 at 12 19 40 pm" src="https://user-"and here is where the modal is being called:


Question: The above steps will automatically trigger a run on the build pipeline for the `production-staging` branch. Once the build is complete, the artifacts are saved as `.zip` files in a cold storage to be retrieved and used later. <del> The release pipeline is triggered automatically when a fresh artefact is available from the connected build pipeline. For staging platforms, this process does not involve manual approval and the artifacts are pushed to the Client CDN and API servers. </del> <ins> The release pipeline is triggered automatically when a fresh artifact is available from the connected build pipeline. For staging platforms, this process does not involve manual approval and the artifacts are pushed to the Client CDN and API servers. </ins> > [!TIP|label:Estimates] > Typically the build run takes ~20-25 minutes to complete followed by the release run which takes ~15-20 mins for the client, and ~5-10 mins for the API to be available live. From code push to being live on the staging platforms the whole process takes **~35-45 mins** in total.

Hello, I am new to getting involved in open-source projects and simply want to start off slow in getting involved in the community. Under the topic header "Pushing changes to Staging Application" as stated in the second paragraph after step 5, "The release pipeline is triggered automatically when a fresh artefact is available from the connected build pipeline." did you mean "artifact"?
In this context, it's discussing build artifacts. Might just be the case of US English and British English.
Yes. We should probably change it to US English version, . PR is welcome.
You got this?
Oh - Looks like I had accidentally closed this. Up for grabs.
PR


Question: # --description-- <del> Jake is explaining the purpose of his visit to Sarah. He's there to hand over something that Sarah needs, which will permit him access to certain areas. </del> <ins> Jake is explaining the purpose of his visit to Sarah. He's there to hand over something that Sarah needs, which will permit her access to certain areas. </ins> # --fillInTheBlank--

Jake is explaining the purpose of his visit to Sarah. He's there to hand over something that Sarah needs, which will permit him (should be her) access to certain areas. <!DOCTYPE html<html lang="en" <head</head<body</body</htmlNo 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
Thank you for reporting the issue. 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.
Next step has similar error. Should be
Hii excellent catch. Solved it locally, will be raising a PR in few minutes. This my first valid pull request, pls assign me if possible !
Thank you for your interest in contributing. We typically do not assign issues. Instead, we accept the first pull request that comprehensively solves the issue. Issues labeled 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.
Hii fixed the typos in both the task (154 & 155) ! ! Hope it clear all the test and get merged


Question: ) : null} {children} </div> <ins> <Footer/> </ins> </Fragment> ); }

!
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: return array; // Only change code above this line } <del> bubbleSort([1, 4, 2, 8, 345, 123, 43, 32, 5643, 63, 123, 43, 2, 55, 1, 234, 92]); </del> ``` # --solutions--

The following challenges have an example function call in the seed code. These function calls should be removed and the related tests should be clarified to reflect the call instead. This sorting challenge is correct and could be used for reference.
Hi, nhcarrigan. I'd like to try to help and solve it. I'm still learning about the project so I would like to ask a question so I can understand the issue better. There is a function call in the file.. bubleSort([1,2,3....]) (example: implement-bubble-) ! And it should be removed from the seed section and transferred to here, similarly to implement-quick-sort: ! ! Is it correct or are there other files that I should be concerned about?
That is correct, yes - this same change should be completed on the four files I've linked. I would, however, recommend holding off on working on this until we receive additional consensus that this is the best way to proceed. If you run in to any questions, feel free to review our or ask in our or the .
Sounds great!! Thanks for the fast response. I will wait until further notice.
Hi MuriloMarquesSantos, are you still interested in fixing this issue?


Question: assert.strictEqual(scoreSpans[3].innerText, ", score = 30"); ``` <del> If a large straight is rolled, your `checkForStraights` function should enable the fifth radio button, set the value to `40`, and update the displayed text to `, score = 0`. </del> <ins> If a large straight is rolled, your `checkForStraights` function should enable the fifth radio button, set the value to `40`, and update the displayed text to `, score = 40`. </ins> ```js resetRadioOptions();

typo error on the console warning: If a large straight is rolled, your checkForStraights function should enable the fifth radio button, set the value to 40, and update the displayed text to , score = 0. i recreated the last step to get to the warnings. it's supposed to say :If a large straight is rolled, your checkForStraights function should enable the fifth radio button, set the value to 40, and update the displayed text to , score = 40. ---- not 0. <img width="442" alt="Screenshot 2024-08-25 at 8 08 39 PM" src=""- Device: Mac OS: Ventura 13.6.9 Browser: Brave, Safari Version: Brave - , Safari - Version 17.6 (.3.11.11.7, ) 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 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: "Replace the paragraph elements with an unordered list of three things that cats love.", "HTML has a special element for creating unordered lists, or bullet point-style lists.", "Unordered lists start with a <ul> element. Then they contain some number of <li> elements.",  "For example: <ul><li>milk</li><li>cheese</li><ul> would create a bulleted list of "milk" and "cheese"."   "For example: <ul><li>milk</li><li>cheese</li></ul> would create a bulleted list of "milk" and "cheese"."  ], "tests": [ "assert($('ul').length > 0, 'Create a ul element.')",

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: # --description-- <del> Since you subtracted health from the player, you need to check `if` the player's `health` is less than or equal to `0`. If it is, call the `lose` function. </del> <ins> Since you subtracted health from the player, you need to check if the player's `health` is less than or equal to `0`. If it is, call the `lose` function. </ins> # --hints--

There is a typo in Step 174, the structure of the phrase is harming translation effort as mention in crowdin by translator here is the sentence Here is the original issue they have recommended using I recommend something else Removing the code tags, the word if is used as an English word hinting about the keyword, and there is a hint about keyword in the hints, so I don't see an actual use for the code tags.
Your suggestion LGTM
You mean this? That would totally work I think


Question: <meta attribute="value"> ``` <del> Tell the browser to parse the markup into multiple languages by creating a `meta` element as a child of the `head` element. Set its `charset` attribute to `UTF-8`. </del> <ins> Inside the `head` element, nest a `meta` element with an attribute named `charset`. Set to the value to `utf-8` which tells the browser how to encode characters for the page. Note that `meta` elements are self-closing. </ins> # --hints--

This particular lesson does not correctly explain the attribute. It says "Tell the browser to parse the markup into multiple languages by creating a meta element as a child of the head element. Set its charset attribute to UTF-8." which implies that the charset attribute can automatically translate the markup. Compare this with the explanation from Learn Basic CSS by Building a Cafe Menu: Step 3 which says "Inside the head element, nest a meta element with an attribute named charset set to the value utf-8 to tell the browser how to encode characters for the page. Note that meta elements are self-closing." see explanation above see explanation above 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 agree with updating the text here Let's go with this change html <meta attribute="value"` This has been opened for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors. If you would like to contribute and have not read the contributors docs, please do so here: If you have any issues with contributing, be sure to join us on the , or on the Happy coding


Question: # --description-- <del> D3 is about visualization and presentation of data. It's likely you'll want to change the styling of elements based on the data. You can use a callback function in the `style()` method to change the styling for different elements. </del> <ins> D3 is about visualization and presentation of data. It's likely you'll want to change the styling of elements based on the data. </ins> For example, you may want to color a data point blue if it has a value less than 20, and red otherwise. You can use a callback function in the `style()` method and include the conditional logic. The callback function uses the `d` parameter to represent the data point: ```js

In the step: We see the text: "You can use a callback function in the style() method to change the styling for different elements." Which is a repetition in part of the later sentence "You can use a callback function in the style() method and include the conditional logic." I feel the first sentence can be skipped entirely and make for a better step overall. Instead of the current step text, we could rewrite as follows: No response N/A No response
opened pr that gets rid of first sentence


Question: assert.equal(locations[4].name, 'kill monster'); ``` <del> Your fifth `locations` value should have a `button text` property with the value an array with three `Go to town square` strings. </del> <ins> Your fifth `locations` value should have a `button text` array with three `Go to town square` strings. </ins> ```js assert.deepEqual(locations[4]["button text"], ['Go to town square', 'Go to town square', 'Go to town square']); ``` <del> Your fifth `locations` value should have a `button functions` property with the value an array with three `goTown` variables. </del> <ins> Your fifth `locations` value should have a `button functions` array with three `goTown` variables. </ins> ```js assert.deepEqual(locations[4]["button functions"], [goTown, goTown, goTown]);

reported sentence that looks weird, and I agree. it is used in 4 files here is the sentence I noticed in the last file, we are using deepEquel, should we mention that array's variables' respective position matter?
Can I be assigned to this? We can simply improve it as "property with the value of an array".
contribution isn't open for issues with label , you are more than welcome to discuss how to improve it
I would shorten them to just use ... e.g. "Your fifth value should have a array with three strings."
there is no one has provided a better option yet, so I am opening this for contribution, and when the JS is published, we can come back to this when campers are taking the course. You should follow Tom comment here because no one has answered this, I think it doesn't matter If you would like to fix this issue, 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.
Hello Sir, can you assign me this issue? hacktoberfest
how does this sounds? "Your fifth locations value should have a with the value being an array consisting of three strings." I for one think we don't need to over explain this, as the values are described in order most people will put them in that exact order.
Although, we are trying to include everyone, you are right this is me trying to overtune something simple. It's good, but we should keep Tom suggestion. In HTML/CSS projects steps, we are using the same sentence structure that Tom mentioned, so there will be comfort, and subtle hints that is an object that carry variables.
you can open a PR, after reading our guideline. more info in this comment
Your fifth locations value should have a property and an array value with three strings. kept most of the original wordings.
Opened a PR for this issue!


Question: <ins> import { type FastifyPluginCallbackTypebox } from '@fastify/type-provider-typebox'; export const statusRoute: FastifyPluginCallbackTypebox = ( fastify, _options, done ) => { fastify.get('/status/ping', async (_req, _reply) => { return { msg: 'pong' }; }); done(); }; </ins>

This is a a health check endpoint
Check the issue of internet ping, connect with network [ ]way run of tickettttttttt....... thank


Question: box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); } <ins> .wallet { overflow-wrap: break-word; } </ins>

Describe the bug Some pages overflow horizontally on mobile browsers. To Reproduce Steps to reproduce the behavior: a mobile with a small enough screen (i.e. iPhone 6/7/8 in the chrome dev console) to to scroll horizontally (it should not work) on 'Show other ways to donate' to scroll Expected behavior The browser should not let you scroll horizontally. Screenshots Donate: ! Also, the welcome page: ! Desktop (please complete the following information): OS: Linux Browser chrome Version 76.0.3809.87 Smartphone (please complete the following information): Device: Galaxy S6 OS: 7.0 Browser chrome Version 76.0.3809.111
This looks like it's fixed on .dev - want to give it a quick test
Still there, I'm afraid. The wallets are too long and cause overflow. I'll have a fix in a sec.


Question: ); ``` <del> The third image should have an `src` attribute set to `https://cdn.freecodecamp.org/curriculum/cat-photo-app/cats.jpg`. </del> <ins> The third image should have a `src` attribute set to `https://cdn.freecodecamp.org/curriculum/cat-photo-app/cats.jpg`. </ins> ```js const catsImg = document.querySelectorAll('figure > img')[1];

I noticed that we are using both "a attribute" and "an attribute" in challenge descriptions. And we even use both in the same challenge (): <img width="596" alt="Screenshot 2024-05-21 at 22 44 29" src=""I think both are acceptable, since the articles depend on how we pronounce "src" ("es-ar-see" vs "source"), but I think we should stick to one for consistency. I'll let native English speakers make the call
I always pronounce it as , so I vote
I'm with Jessica on this one. The second sentence should be changed to .
This issue is open to first-time code contributors to this repository. The files that you should be updating are: Please make sure you read our as well as 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 everyone. This is a great pick up! I am happy to help out there and will get a initial PR up for review today :)
I have reviewed the changes made in PR, all the related file have been fixed correctly and checked locally.
Hello, This is my first Open source contribution so if you guys can give me feedback on what i did wrong and how i should correct it please guide me. from the seven files mentioned above, I have created pull request for each one which is as below. sorry if i messed up, as it is my first try. I am actively looking for any advice, suggestion, criticism. Thank You.


Question: "" ], "tail": [ <del> "(function(t) { if(typeof t !== 'undefined') { return "Total = " + t; } else { return "Total is undefined";}})(total);" </del> <ins> "(function(){if(typeof total !== 'undefined') { return "total = " + total; } else { return "total is undefined";}})()" </ins> ], "solutions": [ "var myArr = [ 2, 3, 4, 5, 6];nvar total = 0;nnfor (var i = 0; i < myArr.length; i++) {n  total += myArr[i];n}"

Challenge has an issue. User Agent is: <codeMozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36</code. Please describe how to reproduce this issue, and include links to screenshots if possible. conditions are not displayed ... not abele to continue. !
It does still pass if the correct code is provided. Your code uses the variable named when the instructions ask for a variable called . For testers: Able to reproduce on Attempting to run any code, except passing code, does not make the tests appear as it has with previous similar issues. After successful code is run the tests appear, but will disappear again with a hard refresh.
ou that's right, i passed, but i only see conditions after i passed... tanks sludge256


Question: # --hints-- <del> You should declare a `cleanInputString` variable. ```js assert.isDefined(cleanInputString); ``` Your `cleanInputString` variable should be a function. </del> <ins> You should declare a `cleanInputString` function. </ins> ```js assert.isFunction(cleanInputString);

The instructions in step 18 of the js beta to build a calorie counter says: Start by declaring a cleanInputString function that takes a str parameter. However if you misspell the function's name you receive this hint: You should declare a cleanInputString variable. I believe this message should be changed to say "function" instead of "variable" the hint should refer to a not a No response N/A No response
Similar issue was seen in step 28 where the hint said: You should declare an isInvalidInput variable. while the instructions were again to create a function: Start by creating a function called isInvalidInput – it should take a single str parameter. And again, similar issue in step38 hint says: You should declare an addEntry variable. while the step is asking for a function
From Pyramid Generator A function is a block of code that can be reused throughout your application. Functions are declared with the following syntax:
Step 42 mentioned in the previous comment should be fixed. It should say: “The function declaration tells JavaScript that the name identifier is going to be a function.” (Replacing ‘variable’ with ‘identifier’ and ‘keyword’ with ‘declaration’) My understanding is that a function is actually an object in js but I would be surprised if a js course starts telling learners to “declare an object called myFunction” instead of saying “declare a function called myFunction”. Edited…
Step 42 should be a separate issue IMO. It shouldn't be lumped in with the corrections being made to the calorie counter steps
Here the updates for this issue remove this hint and test js assert.isDefined(cleanInputString); the current second hint and test should say this instead js assert.isFunction(cleanInputString); remove this hint and test js assert.isDefined(isInvalidInput) remove this hint and test js assert.isDefined(addEntry); udpate the second hint to the following js assert.isFunction(addEntry); `


Question: # --solutions-- ```js <del> function countingFractionsInARange(limit) { let result = 0; const stack = [[3, 2]]; while (stack.length > 0) { const [startDenominator, endDenominator] = stack.pop(); const curDenominator = startDenominator + endDenominator; if (curDenominator <= limit) { result++; stack.push([startDenominator, curDenominator]); stack.push([curDenominator, endDenominator]); </del> <ins> class PrimeSeive { constructor(num) { const seive = Array(Math.floor((num - 1) / 2)).fill(true); const upper = Math.floor((num - 1) / 2); const sqrtUpper = Math.floor((Math.sqrt(num) - 1) / 2); for (let i = 0; i <= sqrtUpper; i++) { if (seive[i]) { // Mark value in seive array const prime = 2 * i + 3; // Mark all multiples of this number as false (not prime) const primeSquaredIndex = 2 * i ** 2 + 6 * i + 3; for (let j = primeSquaredIndex; j < upper; j += prime) { seive[j] = false; } } </ins> } <ins> this._seive = seive; } isPrime(num) { return num === 2 ? true : num % 2 === 0 ? false : this.isOddPrime(num); } isOddPrime(num) { return this._seive[(num - 3) / 2]; } }; const primeSeive = new PrimeSeive(12001); function countingFractionsInARange(num) { const moebius = Array(num + 1).fill(1) // Generate Moebis function terms for (let i = 2; i <= num; i++) { if (!primeSeive.isPrime(i)) continue; for (let j = i; j <= num; j += i) moebius[j] *= -1; for (let j = i * i; j <= num; j += i * i) moebius[j] = 0; } // Evaluate totient sum let sum = 0; for (let i = 1; i <= num; i++) { const coeff = Math.floor(num / i - 2); sum += moebius[i] * Math.floor(coeff * coeff / 12 + 0.5); </ins> } <del> return result; </del> <ins> return sum; </ins> } ```

I've seen CI failing with the following error multiple times: <img width="1680" alt="Screenshot 2023-11-06 at 15 33 10" src=""The error can be seen here: I'm not sure if this is also an issue in /learn, but here is the link to the challenge: Link to the code: I haven't tried reproducing the issue locally, but I think running multiple times on that challenge would surface it. The test should always pass.
When it's a random failure like this, it means that the loop-protect timeout has been exceeded. Unless the solution algorithm is obviously terrible (and it isn't to me), then I think it's fine to delete the offending test.
At one point there was trying to go through the various solutions and optimize them, maybe he can take a look here too? Or just let do without that test.
I fixed up the ones with prime numbers. I can take a look at this one and see if a better algorithm is out there


Question: max-width: 600px; } <ins> .challenge-description-header { display: flex; } </ins> .description-container h1 { color: var(--secondary-color); font-family: Roboto Mono, monospace;

I am learning from the RWD course, and I wanted to revise what I had done previously. I went to previous steps, but I found that the steps are shown incomplete when I open them. It tells you to do the step again. This doesn't make sense because you have a button at the top if you do want to do the step again. Completed code should be shown in completed challenge's code editor along with an indicator like ! !
It would be relatively easy to show the solution to a step, and the "Step completed" text, (rather than storing the user's code) if a user has already submitted that step. If other maintainers are in favour of this change, I'd be happy to open this up for PRs.
My concern with that approach would be it completely destroys the UX if someone wants to go through a practise project again.
I propose to add a button under the summary of each project for this issue.
I'm not keen on adding a button to do that, given the potential for frustration if someone triggers that accidentally.
I think I'd be in favour of the existing flow, presonally.
At a minimum, we could probably add the checkmark next to "Step 22" like we do for all the other challenges after it has been completed. That seems to be missing here. !
That's a good idea, IMO.
I think just adding that check mark is probably the way to go then. It keeps it consistent with everything else. I'm going to open it up for contributions. If anyone still has reservations, be sure to bring them up.
May I suggest in addition to indicating completed challenges in the challenge itself, to do that in the list of steps. Here is a crude representation of what I have in mind: <p align="center"<img src="https://user-" width=500 align="centre"/</p
I believe it already does that. Here's a screenshot of what the challenge looks like for me, after I've completed it (the steps are highlighted in blue instead of white). !
Also, I would like to work on this issue, and I agree that adding a checkmark next to the step would be a good fix, but I noticed that the RWD courses don't have a step number or title at the top like the other courses do.

For other courses, the checkmark for completion is displayed next to the name of the challenge, like you can see in the first screenshot (of the JS Algorithms & Data Structures courses). However, for the RWD course, there is nothing in this location, as you can see in the second screenshot. ! ! How should we go about adding a checkmark to the RWD course? Should we just put it next to where it says on the screenshot (inside the instructions block)? Or should we move the step number to the same place as where the challenge names are for the other courses and put the checkmark there, in order to be consistent with the other courses?
Thanks I could not log in since yesterday and this is probably the reason I don't see indication for completed challenges in the list of steps.


Question: Your code should use `then` to handle the data converted to JSON by the other `then`. ```js <del> assert(code.match(/.thens*(s*(data|(s*datas*))s*=>s*{[^}]*}s*)/g)); </del> <ins> assert(__helpers.removeWhiteSpace(code).match(/.then((?w+)?=>{[^}]*})/g)); </ins> ``` Your code should get the element with id `message` and change its inner HTML to the string of JSON data. ```js assert( <del> code.match( /documents*.getElementByIds*(s*('|")message1s*)s*.innerHTMLs*=s*JSONs*.s*stringifys*(s*datas*)/g </del> <ins> __helpers.removeWhiteSpace(code).match( /document.getElementById(('|")message1).innerHTML=JSON.stringify(?w+)/g </ins> ) ); ```

Challenge Page: File: Code which passes: Code which fails: The test should not rely on the variable name. Suggestion for 3rd test: An issue with the help wanted or first timers only label is open for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors. If you would like to contribute, and have not read the contributors docs, please do so here: If you have any issues with contributing, be sure to join us on the , or on the
I would love to work on this Please assign this to me
Hey Usually if there is a 'Help Wanted' label, anyone can start working on it. I think meant to do this, but You can definitely start working on this! Thank you for helping us improve freeCodeCamp!
No problem I will wait for some time for Shaun to do it. ELse I will start working on it
Hey there, This is open for contribution. Please read the last paragraph of the original post.
Since there's a 'first timers only' label, you're very welcome to contribute


Question: name, user: { username } } = props; <del> const { challengeFiles, isOpen, projectTitle, solution } = solutionState; </del> <ins> const { files, isOpen, projectTitle, solution } = solutionState; </ins> return ( <div> {t(

When trying to view a JS solution, the following error appears in dev, explaining the issue in production. It seems we followed the expected prop-types too early (ref: ). The object is still an object literal. Reported on forum:
I have the same problem as I said in the forum, the bottom error says it responded with 404 to the request for the certification on JS algorithms and data structures. Seems like there's an issue with the backend reaching that certification. !


Question: (getUserInput) => $.get(getUserInput('url') + '/_api/get-tests?type=functional&n=5').then( (data) => { <del> assert.equal(data.assertions[3].method, 'browser.element'); </del> <ins> assert.equal(data.assertions[3].method, 'browser.elements'); </ins> assert.match(data.assertions[3].args[0], /('|")span#dates1/); assert.equal(data.assertions[3].args[1], 1); },

<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --Affected page Add a link to the coding challenge with the problem. Your code Copy and paste the code from the editor that you used in between the back-ticks below: Expected behavior Add a clear and concise description of what you expected to happen. The code should pass the fcc tests Screenshots If applicable, add screenshots to help explain your problem. you can drag and drop, png, jpg, gif, etc. in this box. ! System (please complete the following information): Irrelevant Additional context Add any other context about the problem here. The solution at uses ( s missing ) and the tests are using that. It is inconsistent with the previous lesson, and according to the Zombie docs, we could either use ('span#name') or ('span#name', 1)
Hello there, Thank you, for taking the time to open this. It appears this was missed with the previous PR: , and issue. As such, it is a simple fix to correct the test at: So, I am going to open this up to first timers An issue with the help wanted or first timers only label is open for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors. If you would like to contribute, and have not read the contributors docs, please do so here: If you have any issues with contributing, be sure to join us on the , or on the


Question: assert.equal(document.querySelector('form')?.action, 'https://register-demo.freecodecamp.org/'); ``` <ins> Your `form` element should have a closing tag `</form>`. ```js assert.match(code, /</form>/); ``` </ins> # --seed-- ## --seed-contents--

The form element is missing a closing tag, but the challenge still accept it and let me move onto the next step It should respond with "You are missing the closing tag", instead of accepting it and letting you move onto the next step ! 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] According to It should result in a valid form element, because the browser will close it. However, the element technically does not have any "Tag omission" so it should have an end tag in the HTML (even if it gets to the DOM by the browser).
This is no more the first project, it would become regex galore, and when possible instead we prefer to not use regex, so fixing all these tests is probably not worth it
We don't need to keep testing for closing tags everywhere. But this challenge is about building a form, so having one test to check the initial form element is created correctly doesn't seem unreasonable.
Agreed, this seems like a good reason to regex test a closing tag. Opening for contribution.


Question: Puedes realizar los cambios sin tener que ejecutar nada desde tu sistema local. <del> Después de que encuentres el archivo que quieras modificar desde la interfaz de GitHub, haz clic en el icono de lápiz para comenzar a editar el archivo. Esto automáticamente creara una bifurcación del proyecto, si es que no tienes una todavía. </del> <ins> Después de que encuentres el archivo que quieras modificar desde la interfaz de GitHub, hace clic en el icono de lápiz para comenzar a editar el archivo. Esto automáticamente creara una bifurcación del proyecto, si es que no tienes una todavía. </ins> También puedes clonar el proyecto y editarlo de manera local en tu ordenador. Si necesitas ayuda al respecto, dale un vistazo a la [guía principal de contribución](/CONTRIBUTING.md). ### Patrón de los Desafíos. <del> He aquí un patrón de cómo se verán los archivos markdown correspondientes a los desafíos. </del> <ins> He aquí un patrón de cómo se verán los archivos reduccion correspondientes a los desafíos. </ins> ````md ---

from its english version at from its english version at from its english version at from its english version at from its english version at from its english version at  When you make a PR for this particular issue, do not tag it with instead just reference it with
Hey ! How could I claim so we don't double work? Thanks
Hi ! Actually we just merge in the first PR for open issues. And your comment on this thread is enough. So, its yours. Happy translating.
I just open a PR for
thanks a lot that was fast! Would you be interested in translating these in future as well? If yes, please keep a watch on this thread. We will be updating on the progress often Happy contributing.
Done translating ! My PR is available at ! Thanks for all you do, freeCodeCamp
I have sent a translation proposal for /docs/how-to-work-on-guide- PR Hope it will help!
There is still work pending on this. When you make a PR for this particular issue, do not tag it with instead just reference it with
Hello, I'm starting to help on the translation of the document /how-to-set-up-freecodecamp-
Working on /docs/spanish/how-to-work-on-guide-
Hello, I've improved the file
Hello, Improving docs/spanish/how-to-catch-outgoing-emails-
Hi, I'm improving docs/spanish/how-to-work-on-coding-
Hi, can I help with /docs/spanish/how-to-setup-freecodecamp-
Sorry, I opened a bad PR regarding but already closed it. I found there was still an English part to be translated
Hi! Is there any remaining documentation where I can help translate?
you can improve or fix redaction and spelling errors.
Hi there, It would be good if at the top are checked so we can see what is left to be translated. Thanks
Where I can start helping?
sorry to put it in this issue, but is there any way somebody could help with the pull requests? I mean, there are 5K+ opened already, people are sending them in troves, and I suspect a lot of them are a total crap (Like ) . I guess you opened a Pandora Box with your articule about HacktoberFest.

Hey all, not a translation, but fixes for the language bar of HTML links on the README file for Spanish, and markdown links to the How To guides that everyone has been translating. . or anyone else looking to do translations in Spanish, you could make a copy of the 2 style guides to translate into Spanish from the English version in the doc folder. It looks like those weren't in to the Spanish folder originally or included on this issue. Just leave the title the same, but put it in the Spanish folder
Hola! to all. I believe we should have guidelines for Spanish translations, which include what treatment (formal or informal) to use when referring to actions or the user. For example, Agregue (formal) or Agrega (informal). - I don't know if this kind of things are found in other languages. In the last articles I've read I've seen a mix between formal and informal, and I think we should standardize (I have done it with some articles). I propose to always use informal. Another thing that could be specified in the guidelines is: Challenges translations. Should they be translated? Referrals to types and attributes (which need to be in English for proper coding). For example, type "date" not type "fecha". If there is a guideline already, please let me know, if not, I would be happy to start one (just let me know where to put it). Hey I would like to know your thoughts about this. Thanks to you all and happy coding!
I agree that we should standardize around informal. I agree with you that we should look out for words like "fecha" that have been accidentally translated during our automated translation process.
Hi all I'm not sure if this is the right issue to discuss this, or if I should open a new one. I'm happy to open a new one if that makes things easier to track. I'll keep it here for the moment. What do people think about translating "array" as "arreglo"? I think this is a big mistake that has been repeated since somebody made that bad translation many years ago. As any Spanish speaker know, "arreglo" means "repair" (), and it makes any programming related text even harder to understand.

This is especially true for programming texts because it's full of abstract nouns and things that are not easy to represent in a tangible way. I learned to code in English (mainly FCC and Coursera), and after a while, I stumbled upon a programming text written in Spanish. I couldn't understand what it was talking about until I found out that "arreglo" was the (really bad) translation of "array". Then I could read the text as if I was reading an encoded message that had to be deciphered. I propose that the Spanish version of FreeCodeCamp doesn't carry on with that translation, which is just based on the similarity of the spelling but has nothing to do with the meaning of the words. I think the right term in Spanish is "ristra". According to the : Which basically means: "A group of things placed one after another" They also share all the phonems in "array", with the adittion of /r/ (rolling r) and /t/ in "ristra". I'm open to other candidates, but please, let's take "arreglo" out of the Spanish version. The word "array" has been used in Spanish texts before and even though it's not a Spanish word, I think it's still better than a word that exists with a different meaning. And to be honest, anyone learning how to code will have to become familiar with certain English terms like "list", "function", "import", "scope", etc. [1]: [2]:
Hello guy, I vote for yes, let’s do the change and I think will create a huge impact around of the world! Please let me know if you have more question questions or concerns. Andres Haro Cell: (619) 534-3190
Thanks - I agree that these machine translations need improvement. I encourage you to dig in and start fixing them. Be sure to join if you need help getting set up
There is still work pending on this. When you make a PR for this particular issue, do not tag it with instead just reference it with
Thanks for working on the translations for the "Contributing to freeCodeCamp". Here on we are making contributing to translations for contribution docs ad hoc. You are free to make pull-requests for improving these translations.

We are closing the issue as these do not need tracking per se. You can raise a fresh issue if you find something incorrect in the existing docs.


Question: # --description-- <del> Inside the `button`, create two more `span` elements. The first span element should have class `playlist-song-artist` and interpolate `song.artist`. The second span element should have class `playlist-song-duration` and interpolate `song.duration`. </del> <ins> Inside the `button` element, create two more `span` elements. The first `span` element should have a `class` of `playlist-song-artist`. In between the `span` tags, add `${song.artist}`. The second `span` element should have a `class` of `playlist-song-duration`. In between the `span` tags, add `${song.duration}`. </ins> # --hints--

This should be a clearer description and fix the inconsistencies for the user of backticks. ` see explanation above see explanation above 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
This has been opened for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors. If you would like to contribute and have not read the contributors docs, please do so here: If you have any issues with contributing, be sure to join us on the , or on the Happy coding


Question: }, challengeTests: [], consoleOut: '', <ins> inAccessibilityMode: false, </ins> isCodeLocked: false, isBuildEnabled: true, modal: {

Looking forward for reporting a security issue: Please report security issues by sending an email to instead of raising a Github issue. Describe the bug A clear and concise description of what the bug is. The Monaco editor contains features for accessibility, specifically a mode for screen reader users which helps in navigating and using the editor effectively. This feature, as of now, must be enabled at the start of each lesson, even after enabling it once at the beginning of the session. To Reproduce Steps to reproduce the behavior: to any lesson in the curriculum. the code editor, set focus to it. alt+f1 to show accessibility help for the editor, and choose to enable the screen reader mode the lesson, advance to the next, and repeat steps two and three Expected behavior A clear and concise description of what you expected to happen. The screen reader mode should have stayed enabled across lessons. Screenshots If applicable, add screenshots to help explain your problem. Desktop (please complete the following information): OS: [e.g. iOS] Windows Browser [e.g. chrome, safari] Chrome Version [e.g. 22] 69.0.3497.100 (Official Build) (64-bit) Smartphone (please complete the following information): Device: [e.g. iPhone6] OS: [e.g. iOS8.1] Browser [e.g. stock browser, safari] Version [e.g. 22] Additional context Add any other context about the problem here. Tested screen reader: NVDA version 2018.3.2 from
Hey, As a part of hacktoberfest, I would like to work on this issue. Can I expect mentorship on this?
I'm new on this too. But if you need help, I would like to work on this issue too.
Can you reproduce this issue?
A group of us are working on this issue for a class project in university. We aim to address this in the next couple of days. We will try and at least present the community with a first iteration of our proposed solution. Just a heads up. If the current developers have any advice or tips, feel free to contact me. Thank you. is the primary developer in the team, working alongside me.
Any updates on this ?
This looks to be fixed, the editor is focused on load.

Can you confirm that this is fixed If so, this can probably be closed.
I don't think it is fixed. It focuses on load by default, but I think that turning on the screen reader mode is separate from just focusing. I don't have a screen reader installed, but if I follow the steps above I keep having to re-enable that mode each time I go to a new challenge.
Sorry, I don’t think the editor should be focused on load, as that means the screen reader user most unfocus it, move back to the heading to read the challenge, then focus it again to write code. Also, I still have to enable accessibility mode on each challenge.
I see now. And I can say that the built in screen reader on osx doesn't do anything with the editor. Is this something we can control? Or is it just part of the monaco editor and we are at their mercy?
VoiceOver on MacOS is… not the best, sadly, when it comes to web apps. If possible, you can send technical info about this to <mailto: is Microsoft’s editor, which seems to be VSCode stripped down to the editor. Perhaps you could contact Microsoft and see if they could add a way to make accessibility states persistent across loads, if this isn’t possible already.
That is annoying. For now you should be able to focus the description by pressing escape (at the moment, it's still in a state of flux), but I'll see about making screen-reader mode something that persists between challenges.
Seeing as how this issue is beyond our control, should we close this and make a new issue about the editor being focused on load? You can feel free to email apple or microsoft if you want Thanks for the advice though.
no need to close this. I think I can fix it.
Yes, we can close this issue.
Quick update. Both the auto-focusing and the persistence of accessibility mode should be fixable. I think I'm about 90% of the way there, but for some reason it stops letting you toggle the accessibility support after a couple of toggles. This, obviously, isn't ideal, but most of the functionality is there.


Question: "  // Only change code below this line.", "", "", <ins> "", "  // Only change code above this line.", </ins> "}", "", <del> "// Only change code above this line.", </del> "// We use this function to show you the value of your variable in your output box.", "(function(){return myFunction();})();" ],

Challenge has an issue. the "code space" where students are meant to put their if/else code contains (by default) a closing bracket which is part of the test code and shouldn't be edited/removed: <a href="" target="_blank"<img src="" border="0" alt=" photo "/</aI think this closing bracket should be moved under the comment to avoid students using it inside their if/else statement (and breaking the function). (someone was stuck on this earlier today)
Thank you for reporting! :)


Question:
"assert($("a").text().match(/catsphotos/gi), 'Your a element should have the anchor text of "cat photos"')", "assert($("p") && $("p").length > 2, 'Create a new p element around your a element.')", "assert($("a[href="http://www.freecatphotoapp.com"]").parent().is("p"), 'Your a element should be nested within your new p element.')",  "assert($("p").text().match(/^s*Viewsmores/gi), 'Your p element should have the text "View more " (with a space after it).')",   "assert($("a[href="http://www.freecatphotoapp.com"]").parent().text().match(/^s*Viewsmores/gi), 'Your p element should have the text "View more " (with a space after it).')",  "assert(!$("a").text().match(/Viewsmore/gi), 'Your a element should not have the text "View more".')", "assert(editor.match(/
/g) && editor.match(/<p/g) && editor.match(/
/g).length === editor.match(/<p/g).length, 'Make sure each of your p elements has a closing tag.')", "assert(editor.match(//g) && editor.match(/<a/g) && editor.match(//g).length === editor.match(/<a/g).length, 'Make sure each of your a elements has a closing tag.')"

The following code should pass, but won't because the <ptag is at the bottom, even though the challenge doesn't require it to be. Please refactor the tests to allow this situation to pass. Challenge has an issue. User Agent is: <codeMozilla/5.0 (Macintosh; Intel Mac OS X ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36</code. Please describe how to reproduce this issue, and include links to screenshots if possible. My code:
I just arranged all the html elements, it accepted and changed 'View more ' to "Click her for " .......

Challenge has an issue. User Agent is: <codeMozilla/5.0 (X11; Linux x86_64; rv:41.0) Gecko/ Firefox/41.0</code. Please describe how to reproduce this issue, and include links to screenshots if possible. My code: In the code above when I wrote the line: " <pView more <a href=""cat photos</a</p" at the end.It did not made all the problems correct. But when I used the same code just above the cat picture it showed correct output. Attaching the screen shot for wrong output(line 38): ! Attaching the screen shot for correct output(line 30): ! There's no difference in the code except the position(line 38 in 1st screen shot vs line 30 in 2nd screen shot).
This test expects the wrapping tag you insert to be the first tag on the page. This had been fixed by a previous PR that has been overwritten. Someone will need to make a new PR that either makes it clear where the user needs to put their code or makes the test not care.
Yes,that should be made clear because otherwise wrong result for this is frustrating.


Question: import './welcome.css'; <ins> // created outside the function, so that the quotes don't change unless the // page is reloaded. const { quote, author } = randomQuote(); </ins> function Welcome({ name }) { <del> const { quote, author } = randomQuote(); </del> return ( <Fragment> <Row>

Describe the bug When you left click while on the page the random quote gets replaced with a new one. To Reproduce Steps to reproduce the behavior: to on anything that doesn't take you to a new page the random quote get replaced Expected behavior A random quote should appear each time you visit learn, but it should not change unless you reload. Screenshots ! Additional Context This only appears once the site has been built, doesn't show the error. It is not happening in production, so presumably was introduced since
I see this on the production site as well.


Question: /> ) : null} <SignoutModal /> <del> {isChallenge && ( </del> <ins> {isChallenge && !showCodeAlly && ( </ins> <div className='breadcrumbs-demo'> <BreadCrumb block={block as string}

The page gets stuck and goes blank with you leave the relational database challenges. to 'Start the course' the fCC logo/button in the nav goes blank and nav disappears Page not to go blank. Clicking fCC logo should go to /learn No response Same on Chrome and Firefox Console errors: <img width="671" alt="Screen Shot 2023-02-16 at 11 44 19 AM" src="https://user-"


Question: You should set the `color` property to `grey`. ```js <del> const hasColor = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style.color === 'grey'); </del> <ins> const hasColor = new __helpers.CSSHelp(document).getCSSRules().some(x => (x.style.color === 'grey' || x.style.color === 'gray')); </ins> assert(hasColor); ```

I set the a:visited color to “gray” which changed the link color in the preview pane and even displayed the color picker box in the view with the color gray but when I clicked Check Your Code it didn’t accept my answer. I had to change it to “grey” with an ‘e’, not an ‘a’ to get the Step completed message. Now it does have the word “grey” with an ‘e’ in the directions, but I spell gray with an ‘a’ so that is what I did naturally. Do you want to accept a value of “gray” and “grey” as correct answers or will you only accept “grey”. If you only accept “grey” would it be possible to add a message asking the user to check their spelling? Otherwise, users may get frustrated and confused if they used “gray” and then they don’t understand why the answer is wrong. ! <!-- Please complete the following information. --- Device: [Laptop] OS: [Windows 10] Browser: [brave] Version: [Version 1.33.106 Chromium: 96.0.4664.110 (Official Build) (64-bit)] <!-- Add any other context about the problem here. --


Question: --fcc-editable-region-- --fcc-editable-region-- <del> if (done === count) { </del> <ins> if (done === count) { </ins> continueLoop = false; } }

In the JS Beta project to build a pyramid gen., steps 82 and 83 both show an if statement block in the code editor that is not correctly indented within the while loop it is in. This may confuse new learners if they are relying on the indents to understand the logic and should be fixed to keep the presented code in acceptable shape for learners. N/A the if statement should be indented within the while loops block ! ! N/A No response


Question: margin-left: 20px; margin-right: 20px; } <ins> .underlined-link { text-decoration: underline; } </ins> @media (min-width: 991px) and (max-width: 1199px) { .testimonial-copy { height: 150px;

I can work on this. A little confused though, since it appears to be there already. Does the mission statement go here? Please provide instructions, thanks.


Question: id: 587d7b7e367417b2b2512b24 title: Use the Conditional (Ternary) Operator challengeType: 1 <del> videoUrl: 'https://scrimba.com/c/c3JRmSg' </del> forumTopicId: 301181 ---

The scrimba video for needs to be updated to match the updates made a while back.
Any update on this?
I want to do this kind of update, but I am not sure what accurate need to be updated. Could anyone explain more about that. Thanks.
Were you able to correct the video?
If there's no movement on creating a new video to update this, I'd be happy to take a crack at it.
I checked out the video and it seemed to be factually accurate. Is the video update just needing to match the condition of "Equal" or "Not Equal" like the actual problem is asking for?


Question: value={this.getUserEmail()} /> </FormGroup> <del> <StripeCardForm getValidationState={this.getValidationState} /> </del> <ins> <StripeCardForm getValidationState={this.getValidationState} theme={theme} /> </ins> <Button block={true} bsStyle='primary'

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: "tests": [], "type": "waypoint", "challengeType": 3, <del> "nameEs": "Crea una aplicación de votaciones" </del> <ins> "nameEs": "Desafios para aprender D3", "descriptionEs": [] </ins> } ] }

[x] Learn D3 Challenges
what should we do with these ones? I guess they are not finished, so there's no point in translating that one line, or am I wrong?


Question: </Button> </> )} <del> {challengeType !== challengeTypes.multifilePythonCertProject && ( <> <Spacer size='xxSmall' /> <Button block={true} variant='primary' onClick={openResetModal}> {isMobile ? t('buttons.reset') : t('buttons.reset-lesson')} </Button> </> )} </del> <ins> <> <Spacer size='xxSmall' /> <Button block={true} variant='primary' onClick={openResetModal}> {isMobile ? t('buttons.reset') : t('buttons.reset-lesson')} </Button> </> </ins> <Spacer size='xxSmall' /> <Dropdown dropup> <Dropdown.Toggle

The "reset" button went missing on the projects editor Any page with older style editor The reset button should be present. All
There is no need for a reset button here, you can just remove all code?
The cash register starts with code
I think we should have a reset button for the odin remix projects If a camper is a working through one of those challenges, and messes up their HTML, then they should have the ability to reset it. But also, for the JS certs, sometimes it is easier to just click reset and start with a clean slate. Plus the other editors have the reset button, so we should have it for consistency sake IMO.
This seems like a great place to start investigating in my opinion. These seem to be multifile cert projects after all.
Reopening, python final projects still miss the button


Question: }); createFiles( <del> mergeChallengeFiles(challengeFiles, savedChallenge?.challengeFiles) </del> <ins> mergeChallengeFiles(seedChallengeFiles, savedChallenge?.challengeFiles) </ins> ); initTests(tests);

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: // remove additional border styles after migration const listClassNames = <del> 'flex mb-0 pl-0 mt-0  border-t-[0px] border-r-[0px] border-l-[0px] border-b-[1px] border-solid border-foreground-quaternary'; </del> <ins> 'flex mb-0 pl-0 mt-0 border-b-[1px] border-solid border-foreground-quaternary'; </ins> export const TabsTrigger = React.forwardRef< React.ElementRef<typeof Trigger>,

Remove the following classes from the component: - Code:
sorry for misunderstanding - what is the thing which need to be done?


Question: print('plain text:', text) print('encrypted text:', encrypted_text) <del> #caesar() </del> <ins> caesar() </ins> --fcc-editable-region-- ```

In the Building a Cipher project, comment is first mentioned in step 51: But in step 59, we actually introduce comment and its syntax: In step 51, we introduce function parameters, so I think mentioning comment here would be a little overwhelming. I think the comment introduction should either be moved to an earlier challenge or kept in step 59. If we move the comment introduction to an earlier challenge, step 51 can be kept as-is. But if we keep comment introduction in step 59, we should update step 51. Instead of asking the users to comment out the code, I wonder if we could ask them to remove the line entirely (though the code is in step 50, so it's probably a little odd to immediately remove it in the next step).
This does seems to be out of sequence. I would suggest to not comment out in step 51 and let the exception be(the resolution is there in the coming steps). This part of the instruction can be updated from: to:
If we don't ask to comment out the function call in step 51 and tell the campers they will work on fixing the error in the next steps, it would be logic to address the error in the console () and require to pass the two positional arguments to the function call in step 52. But then the function will seem to work fine, although it's still using the and variable inside its body instead of the function parameters. The alternative is to ignore the in the console for step 52, and address it directly in step 53. For that we should simply keep the function call instead of commenting it out and there is no need to swap the step order. Honestly, I don't like particularly any of these options.


Question:
## Description
 Objective: Build a full stack JavaScript app that is functionally similar to this: http://watchstocks.herokuapp.com/ and deploy it to Heroku.  Note that for each project, you should create a new GitHub repository and a new Heroku project. If you can't remember how to do this, revisit https://freecodecamp.com/challenges/get-set-for-our-dynamic-web-application-projects.  Here are the specific user stories you should implement for this project: User Story: I can view a graph displaying the recent trend lines for each added stock. User Story: I can add new stocks by their symbol name.

<!-- 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: In some of the take home projects there is a broken link in the description - - which leads to a 404. Add a Link to the page with the problem:
Here is a breakup of the action items (can be done in parallel, by multiple contributors): . we were hoping you could point us in the right direction by helping us with the source code repo link? [ ] This Glitch project can then be published and the challenge updated with the link and the verbiage. [ ] Finally we would also need to point the link for getting started use our standard intro for other projects.
if I have the original challenge link I could start on this.
I would like to work on this .
please let me know if you are still interested in making a pull request for this issue.
Please inform on the status of the work on this issue, otherwise I would like to have a go at it.
I would like to know the status. Do we have the correct link available or not?
What is the original challenge link which attempts to link to?
please let me know once the actual link is confirmed. I would like to work on this issue.
I'm not sure where the original link is. I thought it was in Apis And Microservices in the legacy site, but I can't find it. We may have to re-create this page? It is supposed to let users know how to create a repository and deploy to heroku. For some of these apps, users can also just use glitch.
It has to be somewhere in the history on Github. When using Git, it is not possible to lose content.
I'm not sure the very latest instance of the file, but it's the best I could find. If there's a way to find the latest version, I'd love to know how! Regardless, you might be able to get some inspiration from there, but unfortunately the specifics are all out of date.
That link is in four of the take home project descriptions - I didn't see it anywhere else. Maybe we should just remove that line from them... Note that for each project, you should create a new GitHub repository and a new Heroku project. If you can't remember how to do this, revisit
Yes please.


Question: - text: The getRating(watchList) should equal 8.675. testString: assert(getRating(watchList) === 8.675); - text: Your code should not use a for loop.  testString: assert(!code.match(/fors*?(.*)/g));   testString: assert(!code.match(/fors*?([sS]*?)/g));  - text: Your code should return correct output after modifying the watchList object. testString: assert(getRating(watchList.filter((_, i) => i < 1 || i > 2)) === 8.55);

<!-- 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 identified three challenges where the for loop validation does not work if newlines are used in the arguments. Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Google Chrome Browser Version: 79.0.3945.88 Operating System: Ubuntu 18.04 If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box): ! ! !


Question: const apiProxyRE = /^/internal/|^/external//; const newsShortLinksRE = /^/internal/n/|^/internal/p?/; const loopbackAPIPathRE = /^/internal/api//; <ins> const showCertRe = /^/internal/certificate/showCert//; </ins> <del> const _whiteListREs = [newsShortLinksRE, loopbackAPIPathRE]; </del> <ins> const _whiteListREs = [newsShortLinksRE, loopbackAPIPathRE, showCertRe]; </ins> export function isWhiteListedPath(path, whiteListREs = _whiteListREs) { return whiteListREs.some(re => re.test(path));

Describe the bug In development certificates are unavailable unless you are logged in. To Reproduce Steps to reproduce the behavior: out of your local freeCodeCamp (either via settings or just go incognito) to http://localhost:8000/certification/developmentuser/responsive-web-design that you get redirected to http://localhost:8000 with a message 'Something is not quite right. A report has been generated and the team have been notified.' Expected behavior You should see the certificate if you have it or be redirected to settings and informed if you don't. Additional context It's possible this is fine in production and I'm just missing something. However, as far as I can see, the certification get endpoints require authentication and I don't think they should.
If this is definitely a problem, I'd be happy to take a look at it.


Question: assert.notMatch(code, /console.log(s*rows[s*0s*]s*)/); ``` <del> You should remove your `rows[2]` reassignment. </del> <ins> You should remove your `rows[rows.length - 1]` reassignment. </ins> ```js <del> assert.notMatch(code, /rows[2]/); </del> <ins> assert.notMatch(code, /rows[s*rows.lengths*-s*1s*]/); </ins> ``` You should not remove your `console.log(rows)` statement.

in step 20 of the JS building a pyramid generator project, the step refers to the " rows[2] assignment" but should instead refer to the "rows[ - 1]" assignment as that is the line in the code at that moment (not the "rows[2]" line. As the step begins with the code as given above, the instructions shouldn't say "rows[2]" to refer to the line "rows[ - 1]" (therefore a small correction to the correct line of code is needed) ! Device: laptop OS: windows Browser: chrome Version: No response
Second test also will need to be changed accordingly.


Question: while (continueLoop) { done++; rows.push(padRow(done, count)); <del> if (done === count) { </del> <ins> if (done === count) { </ins> continueLoop = false; } }

In the JS Beta project to build a pyramid gen., steps 82 and 83 both show an if statement block in the code editor that is not correctly indented within the while loop it is in. This may confuse new learners if they are relying on the indents to understand the logic and should be fixed to keep the presented code in acceptable shape for learners. N/A the if statement should be indented within the while loops block ! ! N/A No response


Question: // Used from https://github.com/ckoliber/docsify-rtl/blob/master/build/docsify-rtl.js, // Currently this is a hack because can't use the plugin as is. <del> if (vm.route.path.search('Arabic') !== -1) { </del> <ins> if (vm.route.path.search('Arabic') !== -1 || vm.route.path.search('Hebrew') !== -1) { </ins> for (var counter = 0, elements = document.getElementsByClassName("markdown-section"); counter < elements.length; counter++) { var item = elements[counter]; item.dir = "rtl"; } }; <ins> if (vm.route.path.search('Arabic') === -1 && vm.route.path.search('Hebrew') === -1) { for (var counter = 0, elements = document.getElementsByClassName("markdown-section"); counter < elements.length; counter++) { var item = elements[counter]; item.dir = "ltr"; } }; </ins> return ( markdown + 'n----n' +

Also, if you traverse from a right-to-left language (Arabic, Chinese), then go to English, the text remains right-to-left: ! Originally posted by in
Are translations available ?. Because If I go to the page click on translation and select a language , then the language remains as english , just the LTR or RTL thing changes. <img width="960" alt="issue" src="https://user-"
Not for many of the languages yet. They still need to be translated by contributors.


Question: <ins> import { setupServer, superRequest } from '../../jest.utils'; describe('/status', () => { setupServer(); test('GET returns 200 status code with pong', async () => { const response = await superRequest('/status/ping', { method: 'GET' }); expect(response.body).toStrictEqual({ msg: 'pong' }); expect(response.status).toBe(200); }); }); </ins>

This is a a health check endpoint
Check the issue of internet ping, connect with network [ ]way run of tickettttttttt....... thank


Question: User.prototype.requestAuthEmail = requestAuthEmail; <del> User.prototype.requestUpdateEmail = function requestUpdateEmail(newEmail) { const currentEmail = this.email; </del> <ins> function requestUpdateEmail(requestedEmail) { const newEmail = ensureLowerCaseString(requestedEmail); const currentEmail = ensureLowerCaseString(this.email); </ins> const isOwnEmail = isTheSame(newEmail, currentEmail); <del> const isResendUpdateToSameEmail = isTheSame(newEmail, this.newEmail); </del> <ins> const isResendUpdateToSameEmail = isTheSame( newEmail, ensureLowerCaseString(this.newEmail) ); </ins> const isLinkSentWithinLimit = getWaitMessage(this.emailVerifyTTL); const isVerifiedEmail = this.emailVerified;

I can't change my email address on the settings page. Anyone one else want to confirm this?
Happy to help on this - I poked around a bit and believe I've found the source of the bug. Also glad to point you in that direction if you prefer to handle this since you've already assigned it to yourself.
Sure, thing go for a PR if you have something ready.
I have a WIP PR ready - cool if I open that?
Do it you can use draft mode if it's not ready.

Describe the bug TL;DR – first signed up with GitHub (which has email # 1 set as primary). Lately changed the email on FCC to email # 2 and since then unable to log in using any of the available methods. I have two emails: .domain On GitHub, I have the first one as a primary email and the second one as a secondary. IIRC, I first signed up to FCC with GitHub, so the letters were going to my first email. Then I set my email at FCC to the second one and this is where the fun begins. What happens when I try to log in using different methods: As you can see, no method allows me to log into my original account. Email bindings shown in each of the accounts: My session cookie is still present in one of the browsers and when I try to change the email back to # 1, it says that it is already bound to another account, which is fair enough.
Does something need to be clarified? It's not a "Help" issue, it's a bug report.
What if you try to change your email to some other email - then go to the browser that's still logged in with the original account, and change the email back to - or if you're still logged in on a browser with your original account, maybe change the email to a new email and see if that will allow you on to your original account. It doesn't get to the root of the problem, but it may get you back on to your original account.
Hi Thanks for your report. Can you send me an email with details of your emails. I'll fix up your account, and investigate the root cause and possible fix there on.
I no longer have this session. I've sent an email, the subject is as the name of the issue.
I can see that we indeed have two accounts for each of your emails listed in the email. For all intents and purposes, we only use email as the primary identifier of your account. So, it literally depends on what a provider returns us as an email address to lookup and sign you into the account. For example: First email: Changed email: Scenario 1: When you sign-in through email, you must use your changed email "", using the old email will indeed create a new account for "". We do not track old emails per account as a measure of privacy.

Scenario 2: When you sign-in through social providers like GitHub, they should be returning us the changed email, or indeed it will simply create a new account for the email they returned to us. We do not bind email to social provider again for privacy reasons. Essentially by design, we will create or return an account as per the authentication method used.
Well, the thing is – there are now three accounts. The original one is .
Okay, I found the issue. Thanks for the additional information. This indeed is a validation bug, when someone changes email. So, when you entered your email on the update form in settings: You entered something like: , this was stored on our DB as is without sanitising it to lowercase. And the providers will always return lowercase emails. We unfortunately treated this incorrectly. If you are okay, I am going to delete your 'new accounts' and restore the email that you intended as per the change lower-cased, which should give you access back to your original account. As for the fix, I'll audit the code and get back to you.
I don't use them, so yeah.
thanks for confirming, I have updated the email to be lowercased on your original account and removed the new accounts. Can you test this and let me know, if it's all fixed.
Yep, it's working.
The fix for this is dependent on


Question: **Projects**: [Rock Paper Scissors](https://www.freecodecamp.org/learn/machine-learning-with-python/machine-learning-with-python-projects/rock-paper-scissors), [Cat and Dog Image Classifier](https://www.freecodecamp.org/learn/machine-learning-with-python/machine-learning-with-python-projects/cat-and-dog-image-classifier), [Book Recommendation Engine using KNN](https://www.freecodecamp.org/learn/machine-learning-with-python/machine-learning-with-python-projects/book-recommendation-engine-using-knn), [Linear Regression Health Costs Calculator](https://www.freecodecamp.org/learn/machine-learning-with-python/machine-learning-with-python-projects/linear-regression-health-costs-calculator), [Neural Network SMS Text Classifier](https://www.freecodecamp.org/learn/machine-learning-with-python/machine-learning-with-python-projects/neural-network-sms-text-classifier) #### Legacy Full Stack Development Certification Once you have earned the Responsive Web Design, Algorithms and Data Structures, Front End Libraries, Data Visualization, APIs and Microservices, and Legacy Information Security and Quality Assurance certifications, you'll be able to claim your freeCodeCamp.org Full Stack Development Certification. This distinction signifies that you've completed around 1,800 hours of coding with a wide range of web development tools.

This is a broken link. <img width="1440" alt="Screen Shot 2020-09-21 at 12 43 27 PM" src="https://user-"<img width="1148" alt="Screen Shot 2020-09-21 at 12 43 55 PM" src="https://user-"Recommended fix, suggestions (how would you update it?): Two ideas for fixing this come to mind: In the , we want to change both links to match the current application. Here is the code that should be to fix the issue: Set up routes for the old paths to redirect to the current paths. I'm unsure of exactly how to do this.


Question: ext: Ext; name: string; history?: string[]; <ins> editableRegionBoundaries?: number[]; </ins> contents: string; };

1) Navigate to a multifile challenge: 2) Input some code over multiple lines: 3) Save code 4) Refresh page ! Seen in: I assume this has to do with the container defaulting to the size it is originally given (e.g. 1 line), even though the saved code spans more.
An issue with the label is open for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors. If you would like to contribute, and have not read the contributors docs, please do so here: If you have any issues with contributing, be sure to join us on the , or on the
This is where the bounds come from. A function called in . In order to fix this, we're going to have to save the current editable region boundaries and then load from them in this function.
Hi Would using be appropriate for persisting the editable region bounds? We could potentially leverage the existing or methods to handle this, rather than writing to every time is called. Please let me know your thoughts or if there’s a better approach. Thanks!
The editable region boundaries are already persisted in local storage, as shown in the screenshot. The issue is when the editor component is mounted, it is preferring the editable regions defined in the challenge seed, as opposed to using the boundaries kept in the saved code from local storage.


Question: errored: PropTypes.bool }), isDonating: PropTypes.bool, <del> issueDate: PropTypes.string, </del> showCert: PropTypes.func.isRequired, signedInUserName: PropTypes.string, userFetchState: PropTypes.shape({

Describe the bug New certificate displays incorrect date. To Reproduce Steps to reproduce the behavior: I can't say I'm really sure of the steps - I claimed the certificate just a few moments ago, and it is still 3 July 2020 local time. The certificate shows "Issued July 4, 2020" however. Expected behavior Certificate earned date should be based on local time? Screenshots ! Desktop (please complete the following information): OS: Windows 10 v. 1909 Browser: Chrome Version: 83.0.4103.116 Additional context The Quality Assurance certification had no such issue.
Is this reproducible locally?
when Date constructor is called on the server-side it outputs date in UTC, right?
timezones are tricky, but the server creates a object and then stores that. There's no timezone information stored with it, so the date sent back is just i.e. the UTC date.
Indeed - timezones are tricky. Thanks for confirming that datetime given back by Node is in UTC. I saw the above code just now. You are absolutely correct I looked at GitHub profile, he lives in USA. Timezone of USA is UTC -4 hours. What I think might be the case here is that might have claimed the certificate after 3 July 2020 8:00 PM. Adding four hours to 3 July 2020 8:00 PM brings it in UTC timezone which gives us date of 4 July 2020. Can you confirm this Do you remember at what time you claimed the cert? What do you think about all this
There are 3 time zones (PST, CST - GMT-6, EST ) in the mainland US or 5 times zone if you include Alaska (GMT-8) and Hawaii (GMT-10). It also depends on the time of year, because of DST (Daylight Savings Time).
I am in the Pacific Timezone, which is currently PDT (due to Daylight Savings Time). I claimed the certificate in question at approximately 17:18 PTD, which translates to 00:18 UTC (pushing the time into the next day). This may be the source of that bug.
oh my god. Timezones are actually complex. Amazing - I believe we have found the source of this bug.

IMO, the best solution to this issue will be to append "UTC" to the issued date to make things clear for users. Going after local time will involve getting timezone from users via settings and then querying db for their timezone while claiming cert. This'll be bad in terms of UX as well as perf. So, let's add UTC at the end of issued date... what do you all think?
We should be able to allow users to set a timezone in their user profiles for the correct offset.
Is this in line with what we are wanting: ! ! Or, would something more explicit be necessary?
Something more along the lines of the snippet here:
, Would it be beneficial for a JSON file to be made in the api-server directory, in case the values need to be referenced elsewhere in the platform?
Even if they're only used in one place, it would be better to have the data imported from a separate file. It's just less cluttered that way.
Just so its clear about the implementation, we will need to store the timezone on the user record, and do any computation of the display on the client only.
Just so its clear about the implementation, we will need to store the timezone on the user record, and do any computation of the display on the client only. Thank you, for this clarification. Makes it easier, I suppose.


Question: Fulfill the user stories and pass all the tests below to complete this project. Give it your own personal style. Happy Coding! <ins> **Note:** When running the tests there will be a slight delay. Please wait a few seconds to allow the tests to finish. Do not refresh the page before they are done. </ins> # --hints-- You should have an `input` element with an `id` of `search-input` and is **required**.

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: .fill-in-the-blank-wrap > p { margin: 0; <del> font-size: 1.25em; </del> <ins> font-size: 1.25rem; line-height: 1.5; </ins> } .fill-in-the-blank-input {

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: You should have a `forEach` loop that iterates through the `platforms` array. ```js <del> assert.match(code, /ifs*(.*)s*{s+platforms.forEach(s*((.*)|[^s()]+)s*=>s*{s*(.*?)s*}s*)s*;?/); </del> <ins> assert.match(code, /ifs*(.*)s*{s+platforms.forEach(s*((.*)|[^s()]+)s*=>s*{?s*(.*?)s*}?s*)s*;?/); </ins> ``` You should use the subtraction assignment operator to subtract 5 from the platform's `x` position. ```js <del> assert.match(code, /platforms.forEach(s*((s*platforms*)|platform)s*=>s*{s*platform.position.xs*-=s*5s*;?s*}s*)s*;?/); </del> <ins> assert.match(code, /platforms.forEach(s*((s*platforms*)|platform)s*=>s*{?s*platform.position.xs*-=s*5s*;?s*}?s*)s*;?/); </ins> ``` # --seed--

Implicitly returning the callback passed into won't pass the test. This should pass at least for this step, and the following step as well. I found out later that curly brackets are missed here. The hint/error message is also not helpful here because the code provided above does exactly what the hint asks campers to do. I suggest adding "Please use curly brackets for the callback for this step" or modifying the corresponding test. ! Device: Laptop OS: Windows 11 Browser: FireFox Version: 125.0.2 (64-bit) No response
Yes, these two steps should be updated to allow for implicit returns.


Question: "nameEs": "Aprende como funciona Free Code Camp", "descriptionEs": [ [ <del> "http://i.imgur.com/RlEk2IF.jpg", </del> <ins> "http://i.imgur.com/6ibIavQ.jpg", </ins> "Una imagen de los 4 beneficios de Free Code Camp: Conéctate, Aprende JavaScript, Construye tu  Portafolio, Ayuda organizaciones sin ánimo de lucro", "Bienvenido a Free Code Camp. Somos una comunidad de código abierto formada por personas ocupadas quienes aprenden a programar y ayudan a organizaciones sin ánimo de lucro.", ""

[X] Learn how Free Code Camp Works [X] Create a GitHub Account and Join our Chat Rooms [X] Configure your Code Portfolio [X] Join a Campsite in Your City [X] Learn What to Do If You Get Stuck


Question:
"tests": [ "assert($("ul").length > 0, 'Create a ul element.')", "assert($("ul li").length > 2, 'You should have three li elements within your ul element.')",  "assert(editor.match(/
/g) && editor.match(/<ul/g) && editor.match(/
/g).length === editor.match(/<ul/g).length, 'Make sure your ul element has a closing tag.')", "assert(editor.match(/
/g) && editor.match(/
]/g) && editor.match(/
/g).length === editor.match(/
]/g).length, 'Make sure your li elements have closing tags.')"   "assert(editor.match(/
/gi) && editor.match(/<ul/gi) && editor.match(/
/gi).length === editor.match(/<ul/gi).length, 'Make sure your ul element has a closing tag.')", "assert(editor.match(/
/gi) && editor.match(/
]/gi) && editor.match(/
/gi).length === editor.match(/
]/gi).length, 'Make sure your li elements have closing tags.')"  ], "challengeSeed": [ "<link href="http://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">",

Challenge has an issue. User Agent is: <codeMozilla/5.0 (Macintosh; Intel Mac OS X 1075) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36</code. Please describe how to reproduce this issue, and include links to screenshots if possible. My code:
The editor is highlighting your code to let you know something doesn't look right, which in this case is that you open your with uppercase and close it with lowercase. ! However, despite this being bad practice it is valid markup and should pass. I am putting in a PR to make the regular expressions case insensitive now.
Okay, thank you for the response. Will make sure to get into the habit of being deliberate with casing. Thank you.