Question: testString: assert(beagle instanceof Animal); - text: The constructor for beagle should be set to Dog. testString: assert(beagle.constructor === Dog);  - text: beagle.eat() should log "nom nom nom" testString: | console.log = function(msg){throw msg;} assert.throws(() => beagle.eat(),"nom nom nom"); - text: beagle.bark() should log "Woof!" testString: | console.log = function(msg){throw msg;} assert.throws(() => beagle.bark(),"Woof!");  ```

Originally posted by _
Can you explain exactly where the issue is
The issue i see is that, if someone poorly implements the eat function, they don't get feedback that they did something wrong. Take this code for example: Console output: Still passing the lession, although im deviding by zero ;)
We could spy on the console and assert, that after () is called, the spy got called once with "nom nom nom". Since we are using chai allready, i assumed we could just use it in the markdown files. My code so far (): Maybe it's helping someone :)
it's a nice idea, but we only use the core package, not . A custom solution where you proxy should work, albeit with a little more effort.
I tried doing this Unfortunately, this does not work.
that's almost right and it's a neat approach. I played with it for a bit and came up with: Since each test is isolated, there's no need to restore the original .
awesome! Do you mind if I push this or will you do that?
Not at all, go for it!
I guess you can add the change for all languages :)
No need to do that. We are working to using the English version of the file's to work across all languages. See PR for more information.
Once we merge your PR, you can find all the challenges where we need to test for a specific value being logged to the console.
Acknowledged. Thanks for the heads up. I will push the fixes for all such instances.
Make sure to put the others on a different PR, so as not to hold up your existing PR.
of course :)


Question: "react-hotkeys": "^2.0.0", "react-identicons": "^1.1.7", "react-instantsearch-dom": "^6.0.0-beta.0", <del> "react-monaco-editor": "^0.30.1", </del> <ins> "react-monaco-editor": "^0.31.0", </ins> "react-redux": "^5.0.7", "react-reflex": "^3.0.18", "react-responsive": "^6.1.1",

Describe the bug When viewing any challenge in Firefox, I can scroll in the instructions/theory part of the window, but the scrolling does not work in the code editor. I have tried with an external mouse as well as with the Trackpad in my Mac. In the same computer and with the same devices it works perfectly using Chrome. To Reproduce to any challenge. to scroll inside the code editor. does not work. Expected behavior It should scroll. Desktop: macOS 10.14.6 Mozilla Firefox 69.0.3 Additional context So far, to scroll in Firefox I have to click and drag the side scrolling bar in order to navigate the code. I think I'm only having this issue since the last redesign, but I may be wrong on this.
I've noticed this for quite a while - but I don't recall if it was present before the latest redesign.
I am also experiencing this problem as of the update. Windows 10 desktop Firefox 69.0.3 External mouse with a scroll wheel In order to scroll I have to find the very small and hard to see scroll bar inside the code editor and click+drag
Having the same issue as you Might take a dig in the code/inspector and see what's up.
It looks like a possible bug with the monaco editor (we are using monaco-editor": "^0.17.1") I confirmed the bug locally first and I then updated to the latest version of monaco and the scroll works again in Firefox. So it has been fixed. I'm just not sure how involved it is for us to update the editor?
Thanks for digging into this and finding the updates. I think we should be able to update monaco-editor itself which we have as a dep: But the issue right now is to confirm if react-monaco-editor is going to play along as well: I think I could not bump it last time I was trying to update it. Opening up for investigation and fix. A PR is most welcome, or any pointers are welcome as well.
I am also experiencing this problem after the update. MacOS 10.14.6 Firefox 69.0.3 Both external mouse with a scroll wheel and Macbook Pro trackpad cannot scroll the code window however Chrome and Safari browser does not have this problem.
I was able to update to both and .

I updated react-monaco to 0.18.1 and react-monaco-editor to 0.31.0, did a few challenges locally and didn't see any immediate issues from the editor update. A PR would just be a chore update to and package- correct?
Thanks for reporting, please use the voting feature instead of confirming further. We know this is a confirmed bug, more so in an underlying library that we have little control over. We are working on a solution. Keeping the thread free for solutions will help.
Yes please. You are the rockstar.


Question: "Fill in the object constructor with the methods specified in the tests.", "Those methods are getFirstName(), getLastName(), getFullName(), setFirstName(), setLastName(), and setFullName().", "These methods must be the only available means for interacting with the object.", <del> "There will be some linting errors on the tests, you may safely ignore them. You should see undefined in the console output." </del> <ins> "There will be some linting errors on the tests. You may safely ignore them. You should see undefined in the console output." </ins> ], "challengeEntryPoint": "var bob = new Person('Bob Ross');", "challengeSeed": "var Person = function(firstAndLast) {n    return firstAndLast;rn};",

Need to document the rename challenge tool and the i18n sync tool. Sometime later this week. Not urgent.
I can take this on?
Go for it, Thanks!
I will start with the rename challenge tool, for the i18n sync, I will wait news if it works now


Question: import { submitNewAbout, updateUserFlag, verifyCert } from '../redux/settings'; import { createFlashMessage } from '../components/Flash/redux'; <del> import Spacer from '../components/helpers/Spacer'; import Loader from '../components/helpers/Loader'; import FullWidthRow from '../components/helpers/FullWidthRow'; </del> <ins> import { FullWidthRow, Link, Loader, Spacer } from '../components/helpers'; </ins> import About from '../components/settings/About'; import Privacy from '../components/settings/Privacy'; import Email from '../components/settings/Email';

To reduce making api calls we should use Link from client/src/components/helpers/Link that utilizes Gatsby Link.
I can take a look at this one


Question: ## --sentence-- <del> `Hey. You are Sarah, right? I'm Jake, _ _.` </del> <ins> `Hey. You're Sarah, right? I'm Jake, _ _.` </ins> ## --blanks--

Change "You are Sarah" to "You're Sarah" in step 150, 154, and 155 of Learn Greetings in your First Day at the Office. The change is to match the caption text. (The text isn't visible on the Task 155 page, but in the code.) Change "You are Sarah" to "You're Sarah" in the following files:
We introduce contraction form in task 1 () so I assume we would want to use contractions in later tasks. But I'll wait for the curriculum team to confirm before opening this issue up for contribution. (If we don't want to use contraction in these tasks, the caption text should be updated to match the fill the blank text.)


Question: ```js assert( <del> /s*[^.]h2s*{s*font-family:s*(['"]?)Lobster1s*(;s*}|})/gi.test( </del> <ins> /s*[^.]h2s*{s*font-familys*:s*('|"|)Lobster1s*(,s*('|"|)[a-z -]+3s*)?(;s*}|})/gi.test( </ins> code ) );

Affected page Your code Expected behavior Should pass all test cases 100%, but instead fails on the third test case "You should only use an h2 element selector to change the font". System (please complete the following information): Device: Laptop OS: Windows 8.1 Pro Latest Update Browser: Firefox, Chrome, Opera Version: Latest All Additional context The bug exists at the rule declaration colon where adding a space breaks the test fixtures. The following piece of CSS doesn't pass the tests, despite being valid and correct: While the following passes: Per the W3C Syntax and basic data types documentation, the regex is used to verify CSS rule declarations. I'd like to work on a fix for this if this will be fixed.
The . The regex doesn't allow spaces there. should work
Okay so, there's more than just that. I mentor a student based on the freeCodeCamp curriculum and a few of this bug have turned up so far. What is the Regex flavor? I tried running the Regex you provided in the fix using JavaScript and it fails. Edit: just tried again, worked like a charm.
Should I open another issue that's more general and mention this or continue in this one?
Is there still an issue of concern here
There's a number of other lessons that suffer the same Regex bug, yes.
Hey , I suggest you open a new issue with a list of the affected challenges if you are up to the task.
Sure thing.

<!-- 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: This was discussed on the forum and it was suggested I submit it to GitHub. The instructions of this challenge introduce the use of a “generic name” (optional) so I used “monospace” in the generic name. font-family: FAMILYNAME, GENERICNAME; . I would then get the error: " You should only use an h2 selector to change your font", which I was doing. It turns out any use of a generic name won't be accepted. Please update question to say "don't use generic for now" or update possible answer to allow for a generic insert. Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Chrome Browser Version:.. Operating System: Win 10 If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box): See link above for insight.
. I would support modifying the test to allow for a fallback value as shown in the challenge description. Before opening this up for contribution, though, I'd like some additional feedback to see if there is support for this change.
Thank you, for taking the time to bring this up. Importantly, the instructions do not mention anything about the generic font. In fact, they are quite clear about what is expected. In my opinion, there is no issue here. Also, I do not see this confusion popping up on the forum. Perhaps the point of discussion should be: Is it best-practice to use the generic/fall-back? If so, then we should consider rewriting the instructions, along with the tests. Something to keep in mind: The lesson is about importing a setting the font-family (the next lesson covers this)
I do agree that I haven't seen much confusion for this lesson popping up on the forum. The lesson does ask the camper to set the font-family of the element to - but the next lesson covers the "font degradation" fall-back value. Maybe it would be best to take this note (and the one below it) and move it to the next lesson? !
Yes, I was thinking the same.

It is just, this is the type of information I would expect when first encountering a new property.
I'm not sure I would move it to the next lesson - there's already an example there. What about changing the last three paragraphs to this: If you both want to move it to the next lesson, I'm fine with it - but it seems like generic fonts are described there pretty good.


Question: script(src='/js/lib/codemirror/mode/javascript/javascript.js') script(src='/js/lib/jailed/jailed.js') script(src='/js/lib/bonfire/bonfireInit.js') <ins> script(src="https://cdn.jsdelivr.net/ramda/0.10.0/ramda.min.js") </ins> .row

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

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


Question: export const Landing = ({ edges }) => { const superBlocks = uniq(edges.map(element => element.node.superBlock)); <ins> const interviewPrep = superBlocks.splice(6, 1); </ins> return ( <Fragment> <Helmet>

On the home page, it lists the section as a certification.... ! Maybe remove that since there's no cert for it?
Yes, you are correct. I will defer to for the correct categorization for this.
We could change the font size of this. Then it would be visually distinct from the other items in this list.
We can indent the list belonging to same category. And make change in font style Like this way:- Certifications:       <a href="#"Responsive Web Design</a      <a href="#"JavaScript Algorithms and Data Structures</a      <a href="#"Front End Libraries</a      <a href="#"Data Visualization</a      <a href="#"APIs and Microservices</a      <a href="#"Information Security and Quality Assurance</a<a href="#"Coding Interview Prep</a
I'm not sure I like either of these solutions - it seems like it might just make a user ask themselves something like: "what's with that last one?" - And not be quite clear enough that it is not a cert. What about something a little more specific... Certifications:   <a href="#"Responsive Web Design</a  <a href="#"JavaScript Algorithms and Data Structures</a  <a href="#"Front End Libraries</a  <a href="#"Data Visualization</a  <a href="#"APIs and Microservices</a  <a href="#"Information Security and Quality Assurance</aAdditional Challenges:   <a href="#"Coding Interview Prep</a


Question: } return ''; }) <del> .reduce((head, element) => head.concat(element), displayTheme); </del> <ins> .reduce((head, element) => head.concat(element)); </ins> const source = files.reduce( (source, file) => source.concat(file.contents, htmlCatch),

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: Essentially, you will edit and store your code on Ubuntu-18.04 with VS Code installed on Windows. <ins> If you use [IntelliJ Idea](https://www.jetbrains.com/idea/), you may need to update your Node interpreter and Npm package manager to what is installed on your WSL distro. You can check these settings by going to Settings > Languages & Frameworks > Node.js and NPM. </ins> ## Installing Docker Desktop **Docker Desktop for Windows** allows you to install and run database and services like MongoDB, NGINX, etc. This is useful to avoid common pitfalls with installing MongoDB or other services directly on Windows or WSL2.

Description: I use IntelliJ Idea on Windows 10 with WSL2 to run the project locally. The specific problem I ran in to was running tests via the IDE instead of the command line. I had to configure IntelliJ to use the version of Node I have installed in WSL2. This is the error I encountered when trying to run the tests via the IDE: CMD.EXE was started with the above path as the current directory. UNC paths are not supported. Defaulting to Windows directory. 'jest' is not recognized as an internal or external command, operable program or batch file. Recommended fix, suggestions: I think it would be worth while to add a small section to the WSL set up doc () for anyone using IntelliJ products.
I really liked how the Windows and WSL set up guides were easy to read and follow! I think adding this would lower barrier of entry for people who are using or evaluating IntelliJ IDEs. If this change is approved I'd be happy to update this docs :)
Sure, go ahead and add a line to this area:


Question: ); ``` <del> The new image does not have an `src` attribute. Check that there is a space after the opening tag's name and/or there are spaces before all attribute names. </del> <ins> The new image does not have a `src` attribute. Check that there is a space after the opening tag's name and/or there are spaces before all attribute names. </ins> ```js assert($('section')[1].lastElementChild.hasAttribute('src')); ``` <del> The new image should have an `src` value of `https://cdn.freecodecamp.org/curriculum/cat-photo-app/lasagna.jpg`. Make sure the `src` attribute's value is surrounded with quotation marks. </del> <ins> The new image should have a `src` value of `https://cdn.freecodecamp.org/curriculum/cat-photo-app/lasagna.jpg`. Make sure the `src` attribute's value is surrounded with quotation marks. </ins> ```js assert(

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: } ``` <del> Use a selector list to center the `h1`, `h2` and `p` elements at the same time. </del> <ins> Delete the three existing type selectors and replace them with one selector list that centers the text for the `h1`, `h2`, and `p` elements. </ins> # --hints--

Campers are creating the new rule set properly but are adding it below the existing rule sets instead of deleting them, which is necessary to pass this step. Even though the hint says "You should only have one selector in your style element." it doesn't seem that they understand what this means. I don't think the instructions make it clear that the three existing rule sets should be deleted and replaced with one new rule set. Perhaps change the instructions to something like: "Replace the three existing type selectors with one selector list that centers the text for the , , and elements." Or even: "Delete the three existing type selectors and replace them with one selector list that centers the text for the , , and elements." No response N/A No response
I like this second option. I think adding this to the instructions will make it more clear.


Question: ## Документация <del> Hackage предоставляет документацию для Haskell </del> <ins> [Haskell.org](https://www.haskell.org/documentation) - книги, курсы по Haskell [Hackage](https://hackage.haskell.org) - пакетный менеджер для Haskell </ins> ## Хотите узнать больше? <del> *   [Ссылка на](https://wiki.haskell.org/Haskell) Haskell wiki </del>  No newline at end of file <ins> *   [wiki](https://wiki.haskell.org/Haskell) Haskell wiki </ins>

We need your help in translating the contributing documentations for Arabic, Chinese, Portuguese, Russian and Spanish. There are the individual issues that you can help on, if you speak any of these: [x] Arabic: [ ] Chinese: [ ] Portuguese: [ ] Russian: [ ] Spanish: Please reach out to us in or for any queries. Happy contributing. 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
i want to help you to translate in spanish, but i cannot see the issue
Hi I have updated the post, thanks.
Hi! I want to help you translate the contributing documentations into Chinese.
you did a great job translating the Guide README to French . Maybe you could help us translate the Contributing Doc to French if you have some time?
Hey ! I'd love to help with translating the Contributing Doc to French, I'm going to start working on it.
I'd love to help with translating the FreeCodeCamp Curriculum in Italian and Romanian, Do you know when we can start working on it and when it will be open to work on?
Hi, and thanks a lot for taking the time to contribute to At the minute we are focused to have translations only in the 5 additional languages as you see on the contributing doc. This is primarily because of the operational logistics involved in maintaining the separate platforms. We want these languages to be ready and stable before going firth with other languages. We will definitely consider additional languages in future, however we do not have any timeline on these. We will make an announcement when that happens. Thanks.
Hi Mrugesh, Thank you for getting back to me. I didn't know all of this and I just sent 2 pull requests for Creating the Romanian and Italian translation for the Contribution Guidelines. Mostly I did it after I read Quincy's article "I just got my free Hacktoberfest shirt. Here’s a quick way you can get yours.". At this point, I don't know if I should continue up to 5 pull requests as it says in the article and you just put it on the side until you are ready to go with the Romanian and Italian versions or I should try other modifications for the pull requests.I'm new myself to all of this stuff and I'm trying to learn as fast as possible.

Please let me know how you like me to proceed or what works best in your interest. Thank you. Linda Kovacs
Hi you should close those PRs. Do not worry, they will still count as valid contributions. And you should proceed with working on other areas. We apologise if this were not clarified in due time, and you had to spend your efforts on this. Thanks once again for all your contributions.
I just closed my PR and . Thank you for your help.
I can help with Arabic translation but I have a problem with Document Direction as Arabic is RTL Language. Is there a solution for this issue ?
I have some problems with my pull request for Created Italian translation for the freeCodeCamp README.MD file. Something went wrong. Could you please help me? Here is the link of the file on Github: Thank you.
I have some problems with my pull request for . Something went wrong. Could you please help me? Thank you.
I don't have any translation skills, but I fixed the links in the READMEs to go to the correct language documents that everyone is doing such an awesome job translating.
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: <!-- AUDIO REFERENCE: <del> Jake: Hey. You are Sarah, right? I'm Jake, from Security. I'm here to give you your access card. </del> <ins> Jake: Hey. You're Sarah, right? I'm Jake, from Security. I'm here to give you your access card. </ins> --> # --description--

Change "You are Sarah" to "You're Sarah" in step 150, 154, and 155 of Learn Greetings in your First Day at the Office. The change is to match the caption text. (The text isn't visible on the Task 155 page, but in the code.) Change "You are Sarah" to "You're Sarah" in the following files:
We introduce contraction form in task 1 () so I assume we would want to use contractions in later tasks. But I'll wait for the curriculum team to confirm before opening this issue up for contribution. (If we don't want to use contraction in these tasks, the caption text should be updated to match the fill the blank text.)


Question: # --instructions-- <del> There is a component in the code editor that is trying to render a `name` property from its `state`. However, there is no `state` defined. Initialize the component with `state` in the `constructor` and assign your name to a property of `name`. </del> <ins> There is a component in the code editor that is trying to render a `firstName` property from its `state`. However, there is no `state` defined. Initialize the component with `state` in the `constructor` and assign your name to a property of `firstName`. </ins> # --hints--

A user wondering why his solution passed. I then realized the 2nd test test is not working as intended. The user is supposed to assign a string to a property of . The user's solution assigns an uninitialized variable as a property. The purpose of the test is to make sure the user assigns a string value to a prop named , but the test still allows the user to pass as the prop's value and the test passes. Not sure why, but assigning an uninitialized property to ends up assigned an empty string to it. This of course passes the test requirement but defeats the purpose of the learning here. I suggest changed the required property name to something like , so if a user does something like this, all of the tests will fail. Test in question: The second test should fail because the property of should be undefinedbecause it was not initialized by the user's code. No response Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] No response
After a bit of research, it appears that assigning as a property that is uninitialized is the same as writing: = { } Since the window has no name, it is just an empty string.


Question: assert(document.querySelector('img')); ``` <del> Your `img` element should have an `src` attribute. You have either omitted the attribute or have a typo. Make sure there is a space between the element name and the attribute name. </del> <ins> Your `img` element should have a `src` attribute. You have either omitted the attribute or have a typo. Make sure there is a space between the element name and the attribute name. </ins> ```js assert(document.querySelector('img').src);

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: '/learn/back-end-development-and-apis/back-end-development-and-apis-projects'; const qaBase = '/learn/quality-assurance/quality-assurance-projects'; const infoSecBase = '/learn/information-security/information-security-projects'; <del> const sciCompPyBase = '/learn/scientific-computing-with-python/' + 'scientific-computing-with-python-projects'; </del> <ins> const sciCompPyBase = '/learn/scientific-computing-with-python'; </ins> const dataAnalysisPyBase = '/learn/data-analysis-with-python/data-analysis-with-python-projects'; const machineLearningPyBase =

Describe the bug Clicking on the certification project name results in both in settings and from the view certification page. ! To Reproduce Steps to reproduce the behavior: to either or (note that you must replace in the link) on a certification project name 404 Page Not Found


Question:
"
" ], "challengeType": 0,  "type": "waypoint"   "type": "waypoint", "nameEs": "Activa eventos de pulsación con jQuery", "descriptionEs": [ "En esta sección, vamos a aprender cómo obtener datos de las APIs. Las APIs - o interfaces de programación de aplicaciones - son herramientas que utilizan los computadores para comunicarse entre sí.", "También aprenderemos cómo actualizar HTML con los datos que obtenemos de estas API usando una tecnología llamada Ajax.", "En primer lugar, vamos a revisar lo que hace la función $(document).ready(). Esta función hace que todo el código dentro de ella se ejecute sólo hasta que nuestra página ha sido cargada.", "Hagamos que nuestro botón "Get message" cambie el texto del elemento con clase message.", "Antes de poder hacer esto, tenemos que implementar un evento de pulsación dentro de nuestra función $(document).ready(), añadiendo este código:", "$("#getMessage").on("click", function(){", "", "});" ]  }, { "id": "bc000000000000000000001",  "title":  "Change Text with Click Events",   "title": "Change Text with Click Events",  "description": [ "When our click event happens, we can use Ajax to update an HTML element.", "Let's make it so that when a user clicks the "Get Message" button, we change the text of the element with the class message to say "Here is the message".",

[x] Trigger Click Events with jQuery [x] Change Text with Click Events [x] Get JSON with the jQuery getJSON Method [x] Convert JSON Data to HTML [x] Render Images from Data Sources [x] Prefilter JSON [x] Get Geo-location Data
Trabajando en esta


Question:
Return an array with the current date in the formats:

2007-11-23

Sunday, November 23, 2007

Friday, November 23, 2007

  Example output: ['2007-11-23', 'Sunday, November 23, 2007']   Example output: ['2007-11-23', 'Friday, November 23, 2007']
 ## Instructions

<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --Describe your problem and how to reproduce it: The sample output in the sidebar has the date . The date should read . Source: and many other websites. Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Firefox Browser Version: 82 Operating System: Linux Mint
Looks like a fix would entail editing the challenge - the tests themselves appear to be accurate. I will open this up to first timers. thanks for the catch!


Question: Closes #XXXXX <del> <!-- Feel free to add any addtional description of changes below this line --> </del> <ins> <!-- Feel free to add any additional description of changes below this line --> </ins>

There's a typo in the PR template on line 14. The word additional is misspelled. !


Question: const createOnClick = navigate => e => { e.preventDefault(); <ins> gtagReportConversion(); </ins> return navigate(`${apiLocation}/signin`); };

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: { name: 'keywords', content: metaKeywords.join(', ') } ]} > <ins> <link as='font' crossOrigin='anonymous' href={latoRegularURL} rel='preload' type='font/woff' /> <link as='font' crossOrigin='anonymous' href={latoLightURL} rel='preload' type='font/woff' /> <link as='font' crossOrigin='anonymous' href={latoBoldURL} rel='preload' type='font/woff' /> <link as='font' crossOrigin='anonymous' href={robotoRegularURL} rel='preload' type='font/woff' /> <link as='font' crossOrigin='anonymous' href={robotoBoldURL} rel='preload' type='font/woff' /> <link as='font' crossOrigin='anonymous' href={robotoItalicURL} rel='preload' type='font/woff' /> </ins> <style>{fontawesome.dom.css()}</style> </Helmet> <WithInstantSearch>

Describe the bug When you reload a page two style issues appear. The placeholder text moves slightly once the page has fully loaded. The search hits are briefly bold To Reproduce Steps to reproduce the behavior: to (or any page with search) the placeholder text move on the search bar anything the result appear briefly as bold, then change to a normal weight Expected behavior The page should start with the styles it ends up getting. Screenshots !
Hey, I wanna help with it. Where can I find the code for it? (First time contributing)
I'm not 100% sure where the problem is, but the , and components are all involved to some degree. Somehow the are not getting the right classes when first rendered I think. I'm planning to take a closer look myself, tomorrow, but you're welcome to submit a PR/share any insight. As you wish!
It turns out it wasn't anything to do with those components. The problem is that the font doesn't get loaded until it's needed - in this case when the search results appear. That causes a brief flash of and that's the cause of the problem. I'm going to look into pre-loading the fonts and clear this up.


Question: onClick={() => togglePane('showPreviewPortal')} > {getPreviewBtnsSrText().portal}  <FontAwesomeIcon icon={faExternalLinkAlt} />   <FontAwesomeIcon icon={faWindowRestore} />  </button>

A camper mentioned in his comment, that this icon below indicate to them that it's an external link not a popup. ! We can change it to clearer icon that show, that it's a popup. The original comment for context:
I found it interesting, that say you should use ellipsis (…) when there is some additional action required after the action (popup, dialog, confirmation) and it isn't clear by the action itself. This doesn't mean you should use an ellipsis whenever an action displays another window only when additional information is required to perform the action. Consequently, any command button whose implicit verb is to "show another window" doesn't take an ellipsis, such as with the commands About, Advanced, Help (or any other command linking to a Help topic), Options, Properties, or Settings. So maybe an ellipsis of some kind: in button's label or in the icon? More so, it's a part of too. If we were to stick with keeping an icon regardless, this regular feels like a better choice, with the arrow denoting there would be some kind of external interface but the enclosed square representing that it is not an external redirection, thus denoting some kind of popup or modal.
I think these guides are saying that the ellipses should be when the button opens a window that requires the user to enter more information or perform another action. This isn't the case here, so I don't think they are warranted in this instance. If we want to use a new icon then I would suggest we use one that has . I'm not suggesting that we use this exact icon. This is just an example of what I'm suggesting.
I second the use of some kind of variation of that icon. There's a small issue though, there's no such icon in the font awesome library for this so we'll have to find a different way to implement this.
Font awesome has an icon that could have the same meaning: Alternatively Material Icons has a specific preview icon if these can be used?
can you assign me this task?
issues with label, aren't open for contribution yet. You can however browse the label help wanted for open issues
allright sir
Both and both are plausible.
I'd suggest we should move forward to replace the icon with the icon. Should I move ahead and send over a PR? This is the output - !
Sure. Just make sure we don't need to add other dependencies to get that icon.


Question: 5. Install a code editor of your choice. <del> We highly recommend using [Visual Studio Code](https://code.visualstudio.com/) or Android Studio. We also recommend installing the official [extensions](https://docs.flutter.dev/get-started/editor?tab=vscode) </del> <ins> We highly recommend using [Visual Studio Code](https://code.visualstudio.com/) or Android Studio. We also recommend installing the official [extensions](https://docs.flutter.dev/get-started/editor?tab=vscode). </ins> ## Fork the repository on GitHub

in the docs, there is a line that is missing period at the end of it. These should have period in the end of it Here is the markdown file Please make sure you read , we prioritize contributors following the instructions in our guides. Join us in or if you need help contributing, our moderators will guide you through this. Sometimes we may get more than one pull requests. We typically accept the most quality contribution, followed by the one that is made first. Happy contributing.
I will work on that


Question: 3. 帮助我们为[YouTube频道视频](https://www.youtube.com/channel/UC8butISFwT-Wl7EV0hUK0BQ/videos)添加字幕。 <del> ##贡献予开源代码库 </del> <ins> ## 贡献予开源代码库 </ins> 我们有数以千计的[编码挑战](https://learn.freecodecamp.org)和[指南文章](https://guide.freecodecamp.org)集中在这个庞大的开源代码库中。

Describe your problem and how to reproduce it: Anchor links such is not working properly in several languages. For sure is not working in: Russian, Spanish, Chinese languages. Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Chrome Browser Version: Version 74.0.3729.169 (Official Build) (64-bit) Operating System: Windows 10 Pro 1809 If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box): !
These 3/4 PRs (exlude one - which I PR'd to my own forked-repo) may close this issue. Please review them.


Question: shift = 3 --fcc-editable-region-- def caesar(): <ins> --fcc-editable-region-- </ins> alphabet = 'abcdefghijklmnopqrstuvwxyz' encrypted_text = ''

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: <del> /* global HOME_PATH */ </del> import { ofType } from 'redux-observable'; import { tap, ignoreElements } from 'rxjs/operators';

While Gatsby allows us to create globals in we also make use of for that purpose. We should DRY this out and use one ( seems the best). See


Question: ## --seed-contents-- ```html ``` # --solutions--

An empty solution seed with the following format does not parse correctly in Crowdin: ! Adding an empty new-line between the backtick lines will parse correctly in Crowdin: ! The following files have empty seeds with the first format and need a blank line : JavaScript / Basic JavaScript comment your javascript code declare javascript variables declare string variables initializing variables with the assignment operator passing values to functions with arguments return a value from a function with return write reusable javascript with functions JavaScript / ES6 create a javascript promise JavaScript / Object Oriented Programming define a constructor function Front End Libraries / Bootstrap Create a bootstrap headline Front End Libraries / React Create a complex jsx element Quality Assurance Projects metric imperial converter Coding Interview Prep / Data Structures Create an ES6 Javascript Map
Hi, I'll add those blank lines. It'll be my first time contributing to an open-source project, though.
Please visit to find all the info you will need to get started with contributing a fix for this issue.
Alright. I'll go through the documentation.
Hi. First time contributor here. I have forked the free code camp files to my github page. I have cloned them locally, opened the appropriate folders into my VSCode editor and made the changes (though I was not able to find a # --seed-- in Quality Assurance Projects: metric imperial conversion) but now I have no idea of how to get the code back here. Is there some documentation with instructions on how to do that? Thanks in advance.


Question: .container <del> .row.flashMessage.negative-30 </del> <ins> .row.flashMessage </ins> .col-xs-12.col-sm-8.col-sm-offset-2.col-md-6.col-md-offset-3 if (messages.errors || messages.error) .alert.alert-danger.fade.in

We need to push these notifications down so there's a reasonable space between them and the navbar (perhaps 20px?). !
It's been years since I've done a PR :) I managed to have the website downloaded locally and all that. It seemed that the overlapping was caused by a class negative-30 that gave a margin-top: -30px. Removed it for flash partial view. It is also used in 2 other places but not sure right now if needed or not.
Thanks for your PR. CamperBot automatically closed it. Could you follow its instructions and try again? We'd value your help with this.
Sure thing. I actually made a separate branch (as in the instructions) but what I did was merge that branch into main one and did the PR from the main one. Now, I realise that I should have made the PR from that branch so that CamperBot will work.


Question: - HOME_LOCATION=http://$DOCKER_HOST_LOCATION:8000 - API_LOCATION=http://$DOCKER_HOST_LOCATION:3000 volumes: <del> - .:/app - node_modules:/app/node_modules - client_node_modules:/app/client/node_modules - server_node_modules:/app/api-server/node_modules - curriculum_node_modules:/app/curriculum/node_modules - challenge_md_parser_node_modules:/app/tools/challenge-md-parser/node_modules - seed_node_modules:/app/tools/scripts/seed/node_modules - client_plugin_nav_data_node_modules:/app/client/plugins/fcc-create-nav-data/node_modules </del> <ins> - .:/app:delegated - node_modules:/app/node_modules:delegated - client_node_modules:/app/client/node_modules:delegated - server_node_modules:/app/api-server/node_modules:delegated - curriculum_node_modules:/app/curriculum/node_modules:delegated - challenge_md_parser_node_modules:/app/tools/challenge-md-parser/node_modules:delegated - seed_node_modules:/app/tools/scripts/seed/node_modules:delegated - client_plugin_nav_data_node_modules:/app/client/plugins/fcc-create-nav-data/node_modules:delegated </ins> working_dir: /app/client command: npm run develop -- -H '0.0.0.0' ports:

Is your feature request related to a problem? Please describe. Building project using docker on macOS is notoriously slow, after some googling, I found that there's some ways to boost the performance of this process. I post the link to the posts I read in here just in case someone want some reference Here's the link to performance comparison Here's the GitHub issue related to the subject In a nutshell, building project with docker on mac is unbearably slow, so, I use flag when run docker, here's the screenshot on how I modified my docker- to make the build process from almost forever to just a few second: (I still modify a section but there's no enough space to include that to the screenshot, anyway, you can tell from the preview pane on the upper right) ! Describe the solution you'd like So, I suggest include this change to yaml file in the project, or(see next) Describe alternatives you've considered Add an extra notice to , letting those who use mac be aware this issue and let them know how to alleviate the pain. PS: I'm also happy to help with this issue
Sure, the docker setup guide has not seen much love lately. Its intial intention was to remove the friction of installing the services like MongoDB, etc. However, it has become painfully slow when setting up from scratch. Please feel free to open a PR for benifit of everyone.
Thanks for the response! So, which option do you recommend? modify the docker- file and make the PR add a new notice in the contribution guide for those who run the project from scratch PS: thanks to the usage of flag , I never hear those crazy fan noise from my old MBP anymore and the CPU usage of the docker is really low now~
Lets start by adding the flag like you have tested. We could merge the PR and keep it under observation for a few days. We could add a warning or remove/overhaul the docker setup if the flags break something, later.
Hey, man, thanks for the advice and sorry for not keeping the update or work on it for several days, I'm currently dealing with some life emergency, and magically, the only thing that can let me feel less painful or pain-free is immerse myself in the world of coding how crazy!

Anyway, I just opened a PR and hopefully that can help a lot of people using mac and try to build the project from docker~ PS: I kind of favor adding a note on the guide to remind those with mac to do the flag thing when they build the project, because slow building only happen on mac I think, although this could lead to problems like forgot to remove the flag in the file when they commit so they push to the remote and cause a lot of conflicts... Anyway, adding this flag while building on PC or Linux shouldn't cause any problem I think, because means the change between host and container is not in sync immediately... hmm... sounds like a problem... but for more on it I think you should consult the docker doc I posted above
Hey Benjamin. Hope that you are hanging in well. Stay strong and I wish you the very best in whatever you are dealing with. Keep doing what you love. Thanks a lot for the PR, and your contributions during these hard times. I will take a look at the PR and will check your recommendations. I hope you have a great day ahead. Goodluck.
Thank you so much for the kind words you said, you have no idea what they means to me during this time... thank you!!!! And I am really grateful that I am able to find peace inside the world of code... Also, there seems some problems of the cypress testing of my pr.... dang it... anyway, I will have a look on it as well later. Thank you guys! Stay safe! And have a great day!
Hey I'm glad you're able to find some peace, that's some good news. As for the cypress testing, don't worry about it - I'll investigate. It's almost certainly not your code. It looks like a old bug that I thought I'd squashed.


Question: **Projects**:  [Random Quote Machine](https://www.freecodecamp.org/learn/front-end-libraries/front-end-libraries-projects/build-a-random-quote-machine), [Markdown Previewer](https://www.freecodecamp.org/learn/front-end-libraries/front-end-libraries-projects/build-a-markdown-previewer), [Drum Machine](https://www.freecodecamp.org/learn/front-end-libraries/front-end-libraries-projects/build-a-drum-machine), [JavaScript Calculator](https://www.freecodecamp.org/learn/front-end-libraries/front-end-libraries-projects/build-a-javascript-calculator), [25 + 5 Clock](https://www.freecodecamp.org/learn/front-end-libraries/front-end-libraries-projects/build-a-25--5-clock) #### 4. Data Visualization Certification - [Data Visualization with D3](https://learn.freecodecamp.org/data-visualization/data-visualization-with-d3)

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: cursor: pointer; } <ins> #nav-lang-menu li:first-child { border-bottom: 0.1rem solid var(--gray-45) !important; } </ins> button.nav-link:focus { color: var(--tertiary-color); background-color: var(--tertiary-background);

The language selection menu is not intuitive about the no. of available options. It's a bit paradoxical at the moment: You will not notice additional options until you start scrolling while being on top of the options. You will not start scrolling until you know there are additional options. to '/learn' on 'Menu' down to 'Change Language' the cursor on the options Scrolling while being in the area of the listed options. menu should be very clean and intuitive. "Cancel Change" option should have some form of visual separation. https://user- Device: All Devices OS: All OS Browser: All Browsers Version: All Versions No response
this will start becoming evident with more languages on the list. The quickest and simplest way this can be handled is by slightly increasing the height of the list and decreasing the height of the hover-state highlight (each item). That will leave some space at the bottom of the last item, intuitively letting the user know there is more to be looked at. Currently, the perfect-sized (height) items and the overall height of the list make it difficult to notice more entries. Finally, that "Cancel" option should be a different color or have some form of visual separation.
is this issue still being worked on? If not, I would like to take it.
That makes sense, I thought we fixed that. should be removed for and
or anyone else interested, this is up for grabs.
This is what makes the language menu full length so no vertical scroll bar appears. Originally, I had the language menu set so that a vertical scroll bar would appear if it was taller than the main menu. But it was decided that there shouldn't be a vertical scroll bar, the language menu should be as tall as necessary so no scroll bar was needed. Is this what we still want? Even as we continue to add even more languages?
thanks for bringing this up. Ideally we would need to show as many languages as possible in a viewport and display a minified scroll bar if the list exceeds the height viewport minus of the navigation. We could show a scrollbar initially as you recommended, but the dropdown needs expand further than the main menu if needed.


Question: # --description--  Congratulations! You finished the lessons on React and Redux. There's one last item worth pointing out before you move on. Typically, you won't write React apps in a code editor like this. This challenge gives you a glimpse of what the syntax looks like if you're working with npm and a file system on your own machine. The code should look similar, except for the use of `import` statements (these pull in all of the dependencies that have been provided for you in the challenges). The "Managing Packages with npm" section covers npm in more detail.   Congratulations! You finished the lessons on React and Redux. There's one last item worth pointing out before you move on. Typically, you won't write React apps in a code editor like this. This challenge gives you a glimpse of what the syntax looks like if you're working with a file system on your own machine. The code should look similar, except for the use of `import` statements (these pull in all of the dependencies that have been provided for you in the challenges).  Finally, writing React and Redux code generally requires some configuration. This can get complicated quickly. If you are interested in experimenting on your own machine, the Create React App comes configured and ready to go.

Currently, the instructions in module, mention about subsection, which is a subsection of a completely different course ( i.e. course ). At the moment, those instructions in module, only mention the name of the "Managing Packages with NPM" subsection and no link has been provided to that particular subsection. Keeping that in mind, I believe to make it easier for the user to navigate to the subsection from within the instructions of module, a link to the subsection should be provided within the module. Hence, taking the above point into consideration, I believe the last line in the first paragraph of module, should be changed from: To The last line in the first paragraph of module, should be changed to: <img width="1440" alt="image" src=""
can i can solve the above issue?
Hello! can I solve this bug.
Personally, I would entirely remove that sentence. It is not common to maintain the links across the challenges, and it does not really provide useful information, as Campers are not expected to go directly to the npm section. On top of that, I would remove the mention of in all sentences - npm != React; there is nothing special about import statements, and there is no direct link between npm and import statements.
Thanks for the feedback your comment makes a lot of sense. Taking your suggestion into consideration, what do you think about the following:
Hello, can I resolve this issue?
Iooks decent. I would leave in the bit about:
Thanks for the confirmation ! I will go ahead and create a PR then. Cheers!


Question: overflow-wrap: anywhere; } <ins> :not(pre) > code { border: 1px solid var(--secondary-color); } </ins> .challenge-instructions code { white-space: break-spaces; }

Unnecessary borders are displayed around each line in the solution code of certification projects. For example: to someone's certification page on 'View' ('View Code') to see the solution code Each line in the solution code should not have borders around it ! Device: Laptop OS: Windows 10 Browser: Chrome Version: 114.0.5735.199 (Official Build) (64-bit) The border seems to be in
Hi the borders on the code doesnt seem to be a good UX. I would like to take up this issue.
Hello! I would like to work on this issue. Seems to be a quick fix.
Hey. Contributions are very welcome. Please take a look at to get started.
! Would this sample look better ?
I have fixed the issue and created a pull request . Please review it and let me know if there are any concerns.
To solve the issue move the properties in , to CSS selector that affects the challenges' layout, or doesn't affect the setting layout.
Simply removing the border property in fixes the issue ! ! Is it fine if done this way? I have reverted the changes I made to the bootstrap file back to its original form.
How can we find those code files from the repo ? If the particular link to the file is not provided in the issue.
Hello I would like to request to be assigned to fix this
Hi! I would like to take up this issue


Question:
} const { textarea } = this.state;  const placeholderText = `Please provide as much detail as possible about the account or behavior you are reporting.`;  return ( <Fragment> <Helmet> <title>Report a users profile | freeCodeCamp.org</title> </Helmet>  <FullWidthRow> <Spacer size={2} /> <Col md={8} mdOffset={2}>   <Spacer size={2} /> <Row className='text-center'> <Col sm={8} smOffset={2} xs={12}>
 Do you want to report {username} 's profile for abuse?
  </Col> </Row> <Row> <Col sm={6} smOffset={3} xs={12}>
 We will notify the community moderators' team, and a send copy of  this report to your email:{' '} {email}.   this report to your email: {email}

We may get back to you for more information, if required.
 <form onSubmit={this.handleSubmit}> <FormGroup controlId='report-user-textarea'>  <ControlLabel>Additional Information</ControlLabel>   <ControlLabel>What would you like to report?</ControlLabel>  <FormControl componentClass='textarea' onChange={this.handleChange}  placeholder=''   placeholder={placeholderText}  value={textarea} /> </FormGroup> <Button block={true} bsStyle='primary' type='submit'> Submit the report </Button>  <Spacer />  </form> </Col>  </FullWidthRow>   </Row>  </Fragment> ); }

<img width="616" alt="Screen Shot 2019-10-01 at 3 26 24 PM" src="https://user-"This is a picture of my own private profile locally, seems like it should say something like "You have not made your profile public" instead of "mot01 has not made their profile public" And as I'm typing this, I'm wondering if a profile should render completely if it's theirs, even if it's not public - there's no way for a user to see what their profile would look like if they don't have it public.
That does look better. The next sentence should be something like "You need to change your privacy settings in order for other people to view your profile". So, they should be able to preview their public profile, basically? Sounds good. If going that route, it would be good to emphasise (even more than currently) that their preview is not public. It wouldn't be good if people went to their preview, saw that it looked right and didn't notice that they were the only people that could see it.
Yes to this, please open a PR. It seems to have been an oversight. I think it's fair to leave the warning on their own pages while showing this page in that case, which means we may need to update the copy for them.
Can you clarify what you want here I'm not sure I understand - do we want to keep the page how it is, and just change the two sentences? Or do we want to display their private profile for them?
Yes. Sorry about being vague last time. I thought about this a little more and I think we should show the users their own profile only when they are signed in. Here is what we should achieve at the end of the day: profiles which are public are visible by default. settings button is only available if the user is on their own profile page. who are not signed in and are visiting profiles which are not public and are not their own are shown the current notice and warnings: ! who are signed in and are visiting their own private profiles are shown the same notice as the above screenshot in point 3 with the verbiage stating "You" and the settings button available. The rest of the their profile is visible as a preview.

So, there'd be a button on their private profile labelled 'Preview profile' and a label 'preview how your profile would look if you made it public'. Clicking that would take them to, say, which shows the preview (and a notice saying that it's currently private). Something like that?
Nope, we do not need a new route. Their profiles can be rendered just below the notice like so: ! Here is the copy: You have not made your profile public. You need to change your privacy setting in order for your profile to be seen by others. This is a preview of how your profile will look when made public.


Question: .night .footer a:hover { color: #606f7b; <ins> outline-offset: 1px; outline: 1px dashed #A0A0A0; </ins> }

<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --Describe your problem and how to reproduce it: At the moment, the clickable area of footer links are spanning the full width of their parent div. I'm not sure if this is on purpose, but IMHO, they should fit to their content instead, since a user could get navigated to another page if they accidentally click somewhere within the clickable area. This issue is on , but it is down for maintenance at the moment. The screenshot is of my local fCC. !
Is that actually a problem, though? I think having list items spread like that is pretty common. It could be a problem if you aimed for, say, Learn and got News, but there's a reasonable amount of space between them. How about if the box were subtly highlighted on hover?
Thanks for the threads
Tbh, this is the first time I have seen footer items spread like that, though it is common to me to see that on a navbar. I have no problem with leaving it as is, but adding background color on hover would be great.
I, personally, would prefer if only the text was clickable - but it works either way.
Personally I like the wider boxes, because I'm lazy and click in the general vicinity of things. So, I've a PR for the highlight approach, since that was a really easy fix. If that doesn't seem right we can always shrink the links onto the text.


Question: return { state: 'success', message: '' }; } else { return { <del> state: 'warning', </del> <ins> state: 'error', </ins> message: 'We could not validate your email correctly, ' + 'please ensure it is correct'

Describe the bug For field in , error state can not be triggered. Warning state will be triggered when an email address with incorrect domain is entered (for example: ). For all fields in , both error and success state can not be triggered. To Reproduce Steps to reproduce the behavior: to http://localhost:8000/settings to fill and to Describe the bug Expected behavior For field in , error state should be triggered instead of warning state. There should only be two states for an email address. Success state is when it is a valid and reachable email address. Error state is when it is an invalid and unreachable email address. For all fields in . Success state is when it is a valid and reachable URL. Error state is when it is an invalid and unreachable URL. Desktop (please complete the following information): OS: Windows 10 1809 Build .832 Browser Latest Chrome Version 77.0.3865.120 (Official Build) (64-bit)
Calling to discuss this from issue . What do you think about this? Are there anything to add or change from the Expected Behavior I described?
the only thing I'm not sure about is 'unreachable'. Do you just mean unreachable because the URL is malformed? Like , for example. If so, then I completely agree. cc
Yes of course. 'Unreachable' is only defined by malformed email format ( valid length, etc) and URL format (protocol, colon, double slash, etc). It is also possible to check the top level domain part against current existing TLD programatically. Other than that, for example checking real email address which is existing should be done by email confirmation / verification.


Question: A strategy is a way of authenticating a user. You can use a strategy for allowing users to authenticate based on locally saved information (if you have them register first) or from a variety of providers such as Google or GitHub. For this project, we will set up a local strategy. To see a list of the hundreds of strategies, visit Passport's site [here](http://passportjs.org/). <del> Add `passport-local` as a dependency and add it to your server as follows: `const LocalStrategy = require('passport-local');` </del> <ins> Add `passport-local@~1.0.0` as a dependency and add it to your server as follows: `const LocalStrategy = require('passport-local');` </ins> Now you will have to tell passport to **use** an instantiated LocalStrategy object with a few settings defined. Make sure this (as well as everything from this point on) is encapsulated in the database connection since it relies on it!

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


Question:
 /* eslint-disable max-len*/ import React from 'react'; import './footer.css'; function Footer() { return (

 freeCodeCamp is a donor-supported tax-exempt 501(c)(3) nonprofit organization (United States Federal Tax Identification Number: 82-0779546)

 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  make a tax-deductible donation here.

 Our Nonprofit About  Donate Shop Sponsors Contact email

 Our Community Alumni Network  Study Groups  Forum  Gitter  GitHub Support  Code of Conduct  Privacy Policy Terms of Service

 Our Learning Resources Curriculum  Guide  Youtube  Podcast  Twitter  Medium  Instagram

  ); } export default Footer;

!
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:
"Font size is controlled by the font-size CSS property, like this:", "
h1 {
  font-size: 30px;
}
", "Create a second p element with the following kitty ipsum text: Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.",  "Inside the same <style> tag that we created for your red-text class, set the font-size of all p elements to 16 pixels (16px)."   "Inside the same <style> tag that we created for your red-text class, set the font-size of all p elements to 16 pixels (16px).", "Note
Due to browser implementation differences, you may need to be at 100% zoom to pass the tests on this challenge."  ], "challengeSeed": [ "

Challenge has an issue. User Agent is: <codeMozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36</code. Please describe how to reproduce this issue, and include links to screenshots if possible. My code:
Hmm, I can't repro this. Do you have your browser zoomed in at all? Have you tried any other browsers?
Hey Itegman, Thanks for the response, yes my browser was size at 75%. After setting zoom to 100% the challenged passed.
Closing as a duplicate of . We've got a PR up now that will add a warning about needing to be 100% zoom for this particular challenge.


Question: date: new Date().toLocaleDateString("en-US", { timeZone: "UTC", weekday: "short", month: "short", day: "2-digit", year: "numeric" <ins> }).replaceAll(',', '') </ins> }; const addRes = await fetch(url + `/api/users/${_id}/exercises`, { method: 'POST',

Please check this commit: There is a missing }) on line 524! Should look like this: ! Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] No response
Thanks for opening this issue. This looks something that can be fixed by "first time" code contributors to this repository. Here are the files that you should be looking at to work on a fix: List of files: The intended change appears to be: 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.
Hi is anyone working on this issue? If not can I fix it?
Thanks for mentioning the issue. Its seems really easy to fix and I see some pull requests are already there. I am also looking for my first contribution but as per the ethics I should not create pull request for this issue.
Hi, is it still open can i work on it


Question: assert(code.match(/htmls*>/gi)); ``` <del> Your `html` element should be below the `DOCTYPE` declaration. </del> <ins> Your `DOCTYPE` declaration should be at the beginning of your HTML. </ins> ```js <del> assert(code.match(/(?<!<htmls*>)<!DOCTYPEs+htmls*>/gi)); </del> <ins> assert(__helpers.removeHtmlComments(code).match(/^s*<!DOCTYPEs+htmls*>/i)); </ins> ``` Your `html` element should have an opening tag.

Several. One example is The hint for this step seems to indicate that the user must add the element below the (there must be at least one new line separating them). Hint: "Your element should be below the declaration.:" So the expected behavior would be that the user will not pass this step until they add the element below the . <!-- Please complete the following information. --- Device: Desktop OS: Linux/Fedora 34 Browser: Firefox Version: [e.g. 22] This is happening for several courses. The regex used for this test is not enforcing the newline between the elements. If this requirement is important enough to be enforced then we should probably come up with one regex that enforces this requirement and use it for all courses.
One possible regex I am using as a solution for this is:
Affected pages: : js 57 assert((/^s<!DOCTYPEs+htmls[sS]<shtmls/gi)); 58 : js 55 assert((/(?<!<htmls)<!DOCTYPEs+htmls/gi)); 56 : js 53 assert((/(?<!<htmls)<!DOCTYPEs+htmls/gi)); 54 : js 55 assert((/(?<!<htmls)<!DOCTYPEs+htmls/gi)); 56 : js 17 assert((/(?<!<htmls)<!DOCTYPEs+htmls/gi)); 18 : js 17 assert((/(?<!<htmls)<!DOCTYPEs+htmls/gi)); 18 : js 41 assert((/(?<!<htmls)<!DOCTYPEs+htmls/gi)); 42 : js 53 assert((/(?<!<htmls)<!DOCTYPEs+htmls*/gi)); 54
If the regex from is the way we want to go, I'd be happy to start working on it in the pages linked by .
I was eventually going to get around to updating these but please, feel free to step in. My solution above was officially merged into main so I'm assuming that's acceptable to use for these as well.
I'm beginning to wonder if we should even have a requirement that the DOCTYPE be on its own separate line?

I can't seem to find any documentation that says this is required and the W3C HTML validator accepts it without being on a new line. Also, we don't seem to be enforcing separate lines for other types of tags. But the DOCTYPE does need to be the first element on the page, which I don't think we are currently testing for, so I propose we test for that instead and get rid of the separate line requirement.
As far as the tests go, I suggest we stick with this: If the HTML spec can parse it, it is valid, and should be accepted, unless the instructions specifically say, for example, "add a semi-colon at the end of the value" So, as I can see in the spec, there is no requirement for the DOCTYPE and the element to be on separate lines:
Would you agree with me then that instead of testing for DOCTYPE being on a separate line we should be testing that the DOCTYPE is the first element on the page? This brings us back to another I found in which there are JS comments in the code string before the HTML begins: Not impossible to work around, just wanted to make whoever ultimately works on this aware of it.
It wouldnt surprise me if that's the why the test was written that way, because if doctype isnt the first element, how else would you check it's current placement? It would be in relation to the html tag, right?
Ideally, yes. As I mentioned below, we do have a solution to the comment thing, but it is a work-in-progress.
I have submitted a that fixes the source of this issue (css comments before the html in the code string) which if approved will allow us to easily test that the DOCTYPE declaration is the first element in the HTML.
should i close my initial pull request since you said in your pull request that you were going to fix the others once yours gets approved and merged? I dont mind helping update the other docs with the new test once it's approved if you want me to. either way, just let me know !
We've had a couple of reports in the support inbox that the negative lookbehind used in some of these tests is failing in Safari, so it's great that either or (pending update) will take care of that as well. At the moment seems more flexible, and allows valid code to pass without forcing a particular style.

It'll also be good to move away from regex for this type of test.
If __helpers.removeHtmlComments(code) is preferred, we could modify in that direction or accept alternatively.
Yes, is the final PR to put this issue to rest. I did an initial PR for just one course and it has already been merged. is using the same solution, just updating the remaining courses that need it.


Question: The Redux store should initialize with a `state` of 0. ```js <del> assert(store.getState() === 0); </del> <ins> assert(_store.getState() === 0); </ins> ``` Dispatching `incAction` on the Redux store should increment the `state` by 1.

<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --<!-- Add a link to the coding challenge with the problem. -- <!-- Copy and paste the code from the editor that you used in between the back-ticks below: --<!-- Add a clear and concise description of what you expected to happen. --This should be accepted as a correct answer, as it solves the challenge. <!-- Please complete the following information. --- Device: PC OS: Windows 10 Browser: Firefox Version: 97.0.1 <!-- Add any other context about the problem here. --The problem arises if the user tries to test their Redux store functionality After checking the source code of the challenge, the problem seems to be the method used to check if user initiated state correctly or not found in This is resulting in a false assert because the user has modified their state (with Tests) I don't know of a way to assert that the user initialized state other than the way mentioned above Maybe add a note that the user should remove their tests before checking their answer? Sorry if this was mentioned before, but I didn't find it so decided to open the issue.
Rather than adding note, more convenient might be creating new store during the test, off the , and checking initial state of that one.
I agree with gikf's suggestion here. We could create an section under and declare a which we could pass to the tests.


Question: showToolPanel: false })} notes={<Notes notes={notes} />} <del> preview={<StepPreview disableIframe={resizing} />} </del> <ins> preview={ <StepPreview disableIframe={resizing} previewMounted={previewMounted} /> } </ins> testOutput={ <Output defaultOutput={defaultOutput} output={output} /> }

On the initial loading of a Step the preview is showing in the preview pane, but if you either open the preview in the pop-out window or toggle the preview pane off/on then the preview does not load again. All Steps in New RWD preview in pop-out window (preview does not load) page Preview button to toggle preview pane off/on (preview does not load) Preview should load in both pop-out window and after the preview pane has been toggled off/on. No response Verified with Chrome/Firefox on both Linux and Win11. Possibly related to issue , but I think this is newer and slightly different.
Just discovered that if you make any change in the editor (such as adding a single space) then the preview will refresh and display again. But you have to do that every time you either open the pop-out window or toggle the preview pane.
When the preview is blank the iframe attributes are not updated either (which makes sense I guess, it looks to be the default values). Blank before updating: After updating: It feels like a state issue.
The preview also disappears if you toggle the Instructions on any of the certification projects.
Yes, that's a separate issue. I dig around at this a bit, seems to have caused the problem. Before it, these issues aren't present.


Question: ], "tests": [ "assert((/cat photos/gi).test($("a").text()), 'Your a element should have the anchor text of "cat photos"')",  "assert(/http://catphotoapp.com/gi.test($("a").attr("href")), 'You need an a element that links to http://catphotoapp.com.')",   "assert(/http://catphotoapp.com/gi.test($("a").attr("href")), 'You need an a element that links to http://catphotoapp.com.')",  "assert(editor.match(//g) && editor.match(//g).length === editor.match(/<a/g).length, 'Make sure your a element has a closing tag.')" ], "challengeSeed": [

In this lesson: In the second requirement the is included in the code tag markup which indicates it should be part of the href. It's minor but wrong and confusing for people new to html.


Question: assert.match(code, /taskData.forEach(s*/) ``` <del> You should destructure `id`, `title`, `date`, `description` as the parameters of the callback of your `forEach()`. </del> <ins> You should use `{id, title, date, description}` as the destructured parameters of the `forEach()` callback function. </ins> ```js assert.match(code, /taskData.forEach(s*(s*{s*(?:ids*,s*titles*,s*dates*,s*description)|(?:titles*,s*ids*,s*dates*,s*description)|(?:dates*,s*ids*,s*titles*,s*description)|(?:ids*,s*dates*,s*titles*,s*description)|(?:titles*,s*dates*,s*ids*,s*description)|(?:dates*,s*titles*,s*ids*,s*description)|(?:dates*,s*titles*,s*descriptions*,s*id)|(?:titles*,s*dates*,s*descriptions*,s*id)|(?:descriptions*,s*dates*,s*titles*,s*id)|(?:dates*,s*descriptions*,s*titles*,s*id)|(?:titles*,s*descriptions*,s*dates*,s*id)|(?:descriptions*,s*titles*,s*dates*,s*id)|(?:descriptions*,s*ids*,s*dates*,s*title)|(?:ids*,s*descriptions*,s*dates*,s*title)|(?:dates*,s*descriptions*,s*ids*,s*title)|(?:descriptions*,s*dates*,s*ids*,s*title)|(?:ids*,s*dates*,s*descriptions*,s*title)|(?:dates*,s*ids*,s*descriptions*,s*title)|(?:titles*,s*ids*,s*descriptions*,s*date)|(?:ids*,s*titles*,s*descriptions*,s*date)|(?:descriptions*,s*titles*,s*ids*,s*date)|(?:titles*,s*descriptions*,s*ids*,s*date)|(?:ids*,s*descriptions*,s*titles*,s*date)|(?:descriptions*,s*ids*,s*titles*,s*date)s*}/)

Step 22 of build a Todo app can use a better a hint or a short reminder on destructuring if one can be into the instructions. If we forget to put the curly braces around the parameter names to destructure them, the hint only says: You should destructure id, title, date, description as the parameters of the callback of your forEach(). A better hint would be I think parameter destructuring was only covered once before this project. (though I may recall that incorrectly) here: Either a better hint or a reminder of parameter destructuring in the instructions would be helpful. No response N/A No response
Hello. I would like to work on this issue. Please assign this to me.
Let's go with this text.


Question:
"description": [ "One way to think of a <dfn>multi-dimensional</dfn> array, is as an array of arrays. When you use brackets to access your array, the first set of bracket refers to the entries in the outer-most array, and each subsequent level of brackets refers to the next level of entries inside.", "Example",  "
var arr = [
    [1,2,3],
    [4,5,6],
    [7,8,9],
    [[10,11,12], 13, 14]
];
arr[0]; // equals [1,2,3]
arr[1][2]; // equals 6
arr[3][0][1]; // equals 11
",   "
var arr = [
    [1,2,3],
    [4,5,6],
    [7,8,9],
    [[10,11,12], 13, 14]
];
arr[0]; // equals [1,2,3]
arr[1][2]; // equals 6
arr[3][0][1]; // equals 11
",  "
Instructions
", "Read from myArray using bracket notation so that myData is equal to 8" ],

and have text in code tags within a blockquote already. The code tagged strings need to be removed. You can see them because they are highlighted again within the code block. Access MultiDimensional Arrays with Indexes: ! Understand String Immutability: !
Agreed, these just just be in the block quote.


Question: Your character class should be `0-9`. ```js <del> assert.match(dollarRegex.source, /[0-9]/); </del> <ins> assert.match(dollarRegex.source, /[0-9] dollars/); </ins> ``` Your `dollarRegex` should match `1 dollars`.

Challenge passes with regex that's only partially fulfilling requirements from instructions. Expected solution is: However challenge can be completed with only the part. Challenge should not pass when regex checks just if number is included. No response n/a No response


Question: return Observable.fromNodeCallback(Model.destroyAll, Model)({ userId: id }); } <ins> function ensureLowerCaseString(maybeString) { return (maybeString && maybeString.toLowerCase()) || ''; } </ins> function buildCompletedChallengesUpdate(completedChallenges, project) { const key = Object.keys(project)[0]; const solutions = project[key];

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