Question: isDonating } = user; <del> console.log(showDonation); </del> return ( <Fragment> <Camper

Describe the bug 1) It appears a was accidentally left in the script. 2) A request to my/(a user's) page-data is returning a 404. To Reproduce Steps to reproduce the behavior: to DevTools log or in console, due to: File: Line 126 error in console as in picture below. Expected behavior No Errors, no logs. Screenshots ! Desktop (please complete the following information): OS: Windows 10 Browser: Chrome Version: 83.0.4103.97 Additional Info I believe the: 'progress updates processed where possible' Is useful, and should stay.
I think it would be better to remove all the logs, since we can use the flash messages if we need to communicate information. Ideally, all errors should go to Sentry. This currently does happen for the server, but we haven't implemented it for the client, yet. Basically because there's still a bit too much noise (like the page- 404 in your screenshot).
Yep, git blame and me for missing it in the QA. Reference: A PR is welcome to remove this and any other rogue logs. This is an expected side-effect of us using Gatsby's routing to query and get the user profile available at . Essentially, when you hit , we first let Gatsby check in the static files if something is available at that path, if not we query the API to lookup there for a username. If both conditions fail, we would render an actual 404 page. But for this to work the status code 404 is sort of abused. Its hacky but there is no way around this to the best of my knowledge. Just to clarify, this should be left as is.
any suggestions where to search? I am trying to search around, but there doesn't seem to be, or I am finding those in the challenges code maybe there aren't
It's a bit tricky, because we use console logs as part of the challenge code, but the place to look is in could you explain why 'progress updates processed where possible' should appear in the console?
there are a few, but they all seems needed where they are
I don't know why, but it comes from file line 98
there are some s, s s, too. gets me: of which probably should not be there.


Question: isDonating } = user; <del> console.log(showDonation); </del> return ( <Fragment> <Camper

I'd like to get input before we remove them, though. I think should eventually make it to Sentry and possibly should too.
could you explain why 'progress updates processed where possible' should appear in the console? , Sorry - my language was too strong. I meant to say: For no other reason than it is a debugging message. Re-thinking about it, I think it could be more useful being changed to , as that is how I interpret the message. After all, it is a component.
There's nothing to apologise for. So, my position is just that debugging messages are things that should be shown to developers, rather than users (if possible). Essentially because that information is intended to help find and fix bugs, which isn't something a user should be expected to do. In this case 'progress updates processed where possible' mostly just indicates that you've navigated to a challenge, so I don't think it's useful. seems worth showing, but only because we don't have access to this information with a remote error logger (Sentry in our case).


Question: "invalid-protocol": "URL 必须以 http 或 https 开头", "url-not-image": "URL 必须直接链接到图片文件", "use-valid-url": "请使用有效的 URL" <ins> }, "certification": { "certifies": "Chinese: This certifies that", "completed": "Chinese: has successfully completed the freeCodeCamp.org", "developer": "Chinese: Developer Certification, representing approximately", "executive": "Chinese: Executive Director, freeCodeCamp.org", "verify": "Chinese: Verify this certification at {{certURL}}", "issued": "Chinese: Issued" </ins> } }

The certification files () have been uploaded to Crowdin for translation. However, the React Component itself does not use the translation helper for the text within the certification (such as ). The component and files should be updated to allow this.


Question: # --description-- <del> The `border-radius` property accepts up to four values to round the round the top-left, top-right, bottom-right, and bottom-left corners. </del> <ins> The `border-radius` property accepts up to four values to round the top-left, top-right, bottom-right, and bottom-left corners. </ins> Round the top-left corner of `.three` by 30 pixels, the top-right by 25 pixels, the bottom-right by 60 pixels, and bottom-left by 12 pixels.

<!-- NOTE: If you want to become an author on freeCodeCamp, you can find everything here: --<!-- If you are reporting an issue with an article on our News publication, please follow this link to send an email to our editorial team --<!-- Add a link to the page with the problem. --<!-- Describe the problem and how to reproduce it. --<!-- A clear and concise description of how you want to update it. --<!-- If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box). --!
Hi ! Thank you for finding this typo. I have the first timers only label since this is an easy fix. For those interested in fixing this issue, here is the file you need to change. Proposed fix: The border-radius property accepts up to four values to round the top-left, top-right, bottom-right, and bottom-left corners. Please also read through our . When the file is fixed, please make a PR referencing this issue and it will be reviewed. Happy contributing!
I'm going to start looking into this.
Thank you for fixing the issue. It was the first time for me on Github. I'm a total newbie in the webdev coding bootcamp.


Question: Fulfill the below user stories and get all of the tests to pass. Use whichever libraries or APIs you need. Give it your own personal style. <del> You can use HTML, JavaScript, CSS, and the D3 svg-based visualization library. Required (non-virtual) DOM elements are queried on the moment of each test. If you use a frontend framework (like Vue for example), the test results may be inaccurate for dynamic content. We hope to accommodate them eventually, but these frameworks are not currently supported for D3 projects. </del> <ins> You can use HTML, JavaScript, CSS, and the D3 svg-based visualization library. Required DOM elements are queried on the moment of each test. If you use a frontend framework (like Vue for example), the test results may be inaccurate for dynamic content. We hope to accommodate them eventually, but these frameworks are not currently supported for D3 projects. </ins> **User Story #1:** My heat map should have a title with a corresponding `id="title"`.

In the 5 certification projects for the Data Visualization certificate, the phrase "(non-virtual) DOM elements" is used without any prior explanation (I checked the Data Visualization curriculum and no such phrase was introduced at any point). It is not clear therefore to the learner what the requirement "Required (non-virtual) DOM elements are queried on the moment of each test." could actually mean. Now, maybe it means "actual DOM' vs "virtual DOM" from the React curriculum. But requiring that a priori knowledge to understand a Data Visualization project requirement seems like overkill? I propose that this requirement in all 5 projects be stated simply as "Required DOM elements..." The chance of someone not understanding that we mean 'actual DOM elements' seems miniscule to me in the context of these challenges, but I'm not a web developer, so if there is a valid reason to use the term 'non-virtual DOM elements', it would be very interesting for me to learn/hear of it. ps. should this issue be accepted, please also fix the phrasing "on the moment" to be "at the moment" which I believe is what was actually meant. update all 5 certification project statements referring to (non-virtual) DOM elements as per the above discussion. No response N/A No response
I think this is more of a note for advanced campers, similar to mentioning that the tests might not work with a framework like Vue.
Yes I think so too, but it is too confusing to someone who is not that advanced. If we didn't say it, what is the chance an advanced camper will run into a problem?
It likely wouldn't - though I also haven't seen much mention of beginners who do have confusion.
I agree that I haven't seen questions on this either but since the rule-of-thumb is to not include undefined technical terms in the challenges and projects, we should do something about this one. (Either define it or drop it)
Thanks for opening this issue. This looks like something that can be fixed by "first-time" code contributors to this repository. Here are the files that you should be looking at to work on a fix: List of files: In these files, the text should be updated to . Please make sure you read our , we prioritize contributors following the instructions in our guides.


Question: Fulfill the below user stories and get all of the tests to pass. Use whichever libraries or APIs you need. Give it your own personal style. <del> You can use HTML, JavaScript, CSS, and the D3 svg-based visualization library. Required (non-virtual) DOM elements are queried on the moment of each test. If you use a frontend framework (like Vue for example), the test results may be inaccurate for dynamic content. We hope to accommodate them eventually, but these frameworks are not currently supported for D3 projects. </del> <ins> You can use HTML, JavaScript, CSS, and the D3 svg-based visualization library. Required DOM elements are queried on the moment of each test. If you use a frontend framework (like Vue for example), the test results may be inaccurate for dynamic content. We hope to accommodate them eventually, but these frameworks are not currently supported for D3 projects. </ins> **User Story #1:** My heat map should have a title with a corresponding `id="title"`.

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.


Question: #learn-app-wrapper h2.medium-heading { margin-bottom: 50px; <del> margin-top: 0px; </del> text-align: center; }

There is a difference in the font size and the margin between the text , on the home page () and the learn page (). Although you may not notice it on first glance but it disturbs the UI. The "sign in and get started" button on home page is also wider than the "sign in to save your progress button" on /learn page.
Hi Could you add some screenshots that demonstrate the problem you're describing?
Here are two screenshots from the landing and the /learn tab, before you're logged in. ! ! There is a difference with the button width being stretched to fit the container in the landing page, but not on the /learn page. There is a minor difference in the margin right below the 'Welcome' Header between the two pages.
I was talking about the change in margin between "Welcome to " and "Learn to code." on the lading page and the /learn page , and the width of the yellow Button on the two pages , as you can see in the screenshots shared by
Thanks for clarifying, and I'll open this up for PRs.
Implemented some changes. Please see screenshots <img width="1280" alt="Screenshot 2020-01-19 at 09 59 13" src="https://user-"<img width="1280" alt="Screenshot 2020-01-19 at 09 59 31" src="https://user-"


Question: "description": [ "In computer science, data structures are things that hold data. JavaScript has seven of these. For example, the Number data structure holds numbers.", "Let's learn about the most basic data structure of all: the Boolean. Booleans can only hold the value of either true or false. They are basically little on-off switches.",  "Let's modify our welcomeToBooleansfunction so that it will return trueinstead of falsewhen the run button is clicked."   "Let's modify our welcomeToBooleans function so that it will return true instead of false when the run button is clicked."  ], "tests": [ "assert(typeof(welcomeToBooleans()) === 'boolean', 'message: The welcomeToBooleans() function should return a boolean (true/false) value.');",

There are missing spaces between some words in: "welcomeToBooleansfunction so that it will return trueinstead of falsewhen the run button is clicked."
There is a similar issue with "Waypoint: Use Bracket Notation to Find the Nth Character in a String" In the first paragraph and the third paragraph. As does "Waypoint: Manipulate Arrays With unshift" in both paragraphs.


Question: Spreadsheet software typically uses `=` at the beginning of a cell to indicate a calculation should be used, and spreadsheet functions should be evaluated. <del> Update your `if` condition to also check if the first character of `value` is `=`. </del> <ins> Use the `&&` operator to add a second condition to your `if` statement that also checks if the first character of `value` is `=`. </ins> # --hints-- <del> Your `if` condition should also check if the first character of `value` is `=`. You may use `[0]`, `.startsWith()`, or `.charAt(0)`. </del> <ins> You should use the `&&` operator to add a second condition to your `if` statement that also checks if the first character of `value` is `=`. You may use `[0]`, `.startsWith()`, or `.charAt(0)`. </ins> ```js assert.match(code, /consts+updates*=s*(?s*events*)?s*=>s*{s*consts+elements*=s*event.target;?s*consts+values*=s*element.value.replace(s*/s/gs*,s*('|"|`)1s*);?s*ifs*(s*(!value.includes(s*element.ids*)s*&&s*(?:value[0]s*===s*('|"|`)=3|value.charAt(0)s*===s*('|"|`)=4|value.startsWith(('|"|`)=5))|(?:value[0]s*===s*('|"|`)=6|value.charAt(0)s*===s*('|"|`)=7|value.startsWith(('|"|`)=8))s*||s*!value.includes(s*element.ids*))s*)s*{s*}/);

We got some feedback here about the spreadsheet project step 31 They mentioned that if you try to use an OR operator here then the hint does not tell you what's wrong. I think the easiest fix would be to just update the directions and hint text to explicitly mention the use of the AND operator. This has been opened for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors. If you would like to contribute and have not read the contributors docs, please do so here: If you have any issues with contributing, be sure to join us on the , or on the Happy coding see explanation above see explanation above No response Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] No response
Hey Jessica, may I open a PR to fix this issue? Thank you!
We typically do not assign issues. Instead, we accept the first pull request that comprehensively solves the issue. Issues labelled with or are open for contributions. Please make sure you read . We prioritize contributors following the instructions in our guide. Join us in or if you need help contributing - our community will be happy to assist you.


Question: "description": [ "Wir haben also gesehen dass Id Deklarationen die von Klassen überschreiben, egal wo sie in deinem style Element CSS stehen.", "Es gibt noch andere Wege CSS zu überschreiben. Erinnerst du dich an Inline Styles?",  "Benutze in-line style um dein h1 Element weiß zu machen. Vergiss nicht, Inline Styles sehen so aus:",   "Benutze inline style um dein h1 Element weiß zu machen. Vergiss nicht, Inline Styles sehen so aus:",  "<h1 style="color: green">", "Lasse die blue-text und pink-text Klassen auf deinem h1 Element." ]

Challenge has an issue. User Agent is: <codeMozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko/ Firefox/50.0</code. Please describe how to reproduce this issue, and include links to screenshots if possible. There is inconsistent spelling in the instructions. Is it "inline" or "in-line"?
thanks for the issue. They should all be .


Question:
## Instructions
  In the penguin class, create a variable name --penguin-skin and give it a value of gray   In the penguin class, create a variable name --penguin-skin and give it a value of gray.
 ## Tests

<!-- 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: Challenge is missing a period in its description. ! Add a Link to the page with the problem: Here is the file that needs to be edited:
Btw, I think there is a typo in the description as well: should be
Looks like those could both changed.


Question: assert.include(document.querySelector('#author-container > div')?.className, 'user-card'); ``` <del> Your `div` element should have the `id` of `index`. Remember to use template interpolation to set the `id`. </del> <ins> Your `div` element should have the `id` of `index`. Remember to use string interpolation to set the `id`. </ins> ```js displayAuthors([{author: "Naomi"}]);

I suggest changing the phrase 'template interpolation' to 'template literals,' because are correctly referred to as template literals, which support string interpolation. ! 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_
it should be "string interpolation". Template literals are already mentioned a few words before, it would be extremely redundant. I'm opening this issue for first timers to make the change "template interpolation" -"string interpolation". This change needs to be done twice in this file: Please make sure you read our , we prioritize contributors following the instructions in our guides. Join us in our or our if you need help contributing; our moderators will guide you through this. Sometimes we may get more than one pull request. We typically accept the most quality contribution followed by the one that is made first. Happy contributing.
Sorry for the misunderstanding. I need to change the text from 'template interpolation' -'string interpolation'
Hi, I guess has raised his PR with the needed change. I haven't contributed before to any open source project. I thought this was an easy one to do to get started. Please tell any easy code or non-code contributions to be made. Happy to help.
I am able to make the required change and happy to start open source contribution with hacktoberfest . Kindly assign this issue to me.
We typically do not assign issues. Instead, we accept the first pull request that comprehensively solves the issue. Issues labeled with or are open for contributions. Please make sure you read . We prioritize contributors following the instructions in our guide. Join us in or if you need help contributing - our community will be happy to assist you.
This pull request resolves the issue of incorrect terminology in the JavaScript curriculum where "template interpolation" was used. The correct term is "string interpolation," as template literals support string interpolation. I have made the following changes: Replaced "template interpolation" with "string interpolation" in the two locations within the file. Fix :
After reading the contributing guidelines, I now understand the mistake I made in my PR.


Question: Variable naming follows specific rules: names can include letters, numbers, dollar signs, and underscores, but cannot contain spaces and must not begin with a number. <del> Declare a `character` variable in your code. </del> <ins> Use the `let` keyword to declare a variable called `character`. </ins> _Note_: It is common practice to end statements in JavaScript with a semicolon. `;`

This sentence seems to be confusing campers on the forum Let's go with this updated description here see explanation above see explanation above No response Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] No response
This has been opened for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors. If you would like to contribute and have not read the contributors docs, please do so here: If you have any issues with contributing, be sure to join us on the , or on the Happy coding
Hi, I have created this PR as a first time contributor (no PRs merged yet) to this codebase. Hope the changes are up to expected requirements. Thanks!


Question:
Front End Libraries

Data Visualization

APIs and Microservices

Quality Assurance

Legacy Information Security and Quality Assurance

Some users can claim python, new QA, and new infosec certifications without submitting their required projects on .dev. It seems the api does not find the cert challenge and proceeds by setting the related cert flag on the user object to true. The issue can be resolved by reseeding the db locally. I cannot reproduce this issue at the moment, but I will keep this open in case other users are experiencing the same issue.
Hello! I tested this issue, and I was able to claim the certifications without completing the projects.
could you check if you can see the certification after claiming it? I'm just wondering if this is purely a client-side issue.
I am able to see the four certificates I could claim, yes.
Thanks for checking that. In that case, while it seems likely that it will fine if the database is migrated, the api should definitely default to rejecting certifications it does recognise.
Yes We Can Claim Python Certification Without submitting the Projects.
that's really serious


Question:
Front End Libraries

Data Visualization

APIs and Microservices

Quality Assurance

Legacy Information Security and Quality Assurance

Currently when you complete/claim a certificate there's an entry on the timeline: <img width="582" alt="Screen Shot 2020-05-27 at 9 37 55 AM" src="https://user-"This doesn't seem to be working for the new Scientific Computing with Python, Data Analysis with Python, and Machine Learning with Python certificates.
I'm a new contributor but I'd like to help out on this.
I think this is mostly working. You just need to refresh the page before it shows up... <img width="598" alt="Screen Shot 2020-05-27 at 11 34 12 AM" src="https://user-"Edit: hmm, it seems to be working locally, but not on .dev - the "view cert" button is there in both environments - it just doesn't show on the timeline on .dev
Ah, interesting. This does seem to work locally but not on .dev for some reason.
This may be a one off issue related to where the new/split certificates (Quality Assurance, Information Security, Scientific Computing with Python, Data Analysis with Python, and Machine Learning with Python) were not seeded to the .dev database for some reason. I can confirm this is working locally like mentioned above. thank you for your interest in contributing. Please check out issues with the label for other things we need help with.


Question:
Front End Libraries

Data Visualization

APIs and Microservices

Quality Assurance

Legacy Information Security and Quality Assurance

<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --1) The Full Stack Cert claimed date will only show as the current date and not the date it was claimed on. I claimed mine on the 7th of September and checking back regularly I noticed the claimed on date was always the current date. 2) The Full Stack Cert appears as the Legacy Full Stack Cert on a users profile page, clicking this leads to an error as the legacy cert does not exist. It should be in with the new certificates. That being said, on the settings page the link to view the certificate is linked correctly. ${username-here} /full-stack ${username-here} N.A 1) Just the claimed on date. No screenshot necessary. 2) !
Similar to
I am having the same issue with my Full Stack Certificate
Mine as well. Has this been addressed?
Same here - The issued date shows the current date and not the date on which it was originally issued -
Related
Have the same problem: the date of Full Stack Certificate is always a current date.
If there are no records for a fullstack certificate, a good fallback would be going thought the date of the modern certificates and displaying the date of latest claimed certificate.
optimally, we should add a completion timestamp and an id when campers claim a fullstack certificate with a fallback to the last earned cert if a timestamp is not found.
My full stack certification also updates with the current date not the claimed date.
The date on my full stack certificate is showing the date i claim my Responsive Web design certificate ( the first certificate ). and now if i want to see the certificate it is asking me to claim certificate when i claim it will say is like u have claim the certificate and it will not show me the certificate.
This is an ongoing issue, please use the reactions instead to assert "me too". Potential approach for fixes: and
Also related to the Full Stack cert – the date seems to be the date the first certification was claimed, not the date the full stack certification was claimed:
The fallback is not working properly and I should have caught that. It's not a tricky fix, but I'll make sure it works this time!
Ok thenks On May 5, 2020 11:04, "Oliver Eyton-Williams" <:


Question: # --description-- <del> We don't want a player's only weapon to break. The logical or operator checks if two statements are true. </del> <ins> We don't want a player's only weapon to break. The logical AND operator checks if two statements are true. </ins> <del> Use the <dfn>logical and</dfn> operator `&&` to add a second condition to your `if` statement. The player's weapon should only break if `inventory.length` does not equal (`!==`) one. </del> <ins> Use the <dfn>logical AND</dfn> operator `&&` to add a second condition to your `if` statement. The player's weapon should only break if `inventory.length` does not equal (`!==`) one. </ins> Here is an example of an `if` statement with two conditions:

There is a typo in Step 156, the word is used to refer to the operator. Here is the typo it should be Can you change the lowercase that refers to the operator in the file, to uppercase , as well? to follow the docs of Mozilla If you would like to fix this issue, please make sure you read , we prioritize contributors following the instructions in our guides. Join us in or if you need help contributing, our moderators will guide you through this. Sometimes we may get more than one pull requests. We typically accept the most quality contribution, followed by the one that is made first. Happy contributing.
Hello, I would like to work on this issue.
hello,can i resolve the issue?


Question: `myRegex` should use lazy matching ```js <del> assert(/?/g.test(myRegex)); </del> <ins> assert(/[^][*+?]?/.test(myRegex)); </ins> ``` `myRegex` should not include the string `h1`

<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --From this forum topic: Affected page File: Your code Expected behavior As this challenge is about lazy matching this code should fail Maybe a way is to make sure that the character appear in the right place, there is a test that check if the character is used, so maybe we would need to have a test that check if or are used this in the screenshot checks only for , maybe we can add also the possibility to use as that is also lazy matching ! and just as we are there, removing the flag from the regex as it is not needed, see maybe also this can be fixed so that nor nor are included in the regex


Question: loadScript(subscription, deleteScript) { if (deleteScript) scriptRemover('paypal-sdk'); <del> let queries = `?client-id=${this.props.clinetId}&disable-funding=credit,card`; </del> <ins> let queries = `?client-id=${this.props.clientId}&disable-funding=credit,card`; </ins> if (subscription) queries += '&vault=true'; scriptLoader(

Describe the bug The PayPal sdk gets called by the local site, even when there are no keys specified in .env To Reproduce Steps to reproduce the behavior: to any page with a donation component the console a 400 error Expected behavior If the keys are missing, PayPal should not be contacted. Screenshots !
/cc
Hello guys! Does this happen on page or somewhere else too? Can't recreate it anymore, happend only once. I'd like to help with that issue if you don't mind Also, I noticed PaypalButton has a typo -in props, example:
it should happen if you hard refresh on donation page. (and on donation modal) That script loads the button. A solution would be to check for paypalClientId in the render of PaypalButton component and return PayPalButtonScriptLoader only if paypalClientId is truthy.
PR is ready. Could you please take a look? Also about the Stripe issue. I'm not sure if it's expected/known but if I don't configure the key for stripe, the page isn't loading for me at all. <img width="1054" alt="CleanShot 2020-05-11 at 02 59 29 src="https://user-"
Yikes, that seems like it needs a fix as well. Thanks for catching that.


Question:
"Aquí está el código que puedes poner en tu evento de pulsación para lograrlo:", "
$.getJSON("/json/cats.json", function(json) {
  $(".message").html(JSON.stringify(json));
});
", "Una vez lo añadas, pulsa el botón "Get Message". Su función Ajax sustituirá el texto "The message will go here" con la salida JSON en bruto de la API de fotos de gato de Free Code Camp."  ], "namePt": "Obter um JSON com o método getJSON do jQuery", "descriptionPt": [ "Também é possivel solicitar os dados de uma fonte externa. É aqui onde as API's entram em jogo. ", "Lembre que as API's - Interface de Programação de Aplicativos - são ferramentas que os computadores usam para se comunicar entre si.", "A maioria das API's transferem de dados para web em um formato chamado JSON. JSON significa notação de objeto JavaScript (JavaScript Object Notation).", "Você já usou JSON para criar objetos em JavaScript. O JSON não é mais que as propriedades de um objeto e seus valores atuais, separados entre { e um }. ", "Estas propriedades e seus valores são muitas vezes denominados de " pares chave-valor".", "Vamos obter o JSON da API de fotos de gatos do Free Code Camp.", "Aqui esta o código que você pode por no nosso evento de clique para fazer isso:", "
$.getJSON("/json/cats.json", function(json) {
  $(".message").html(JSON.stringify(json));
});
", "Uma vez adicionadas, aperte o botão "Get Message". Sua função Ajax substituirá o texto "The message will go here" com a saída bruta do JSON da API de gatos do Free Code Camp."  ] }, {

[ ] Trigger Click Events with jQuery [ ] Change Text with Click Events [ ] Get JSON with the jQuery getJSON Method [ ] Convert JSON Data to HTML [ ] Render Images from Data Sources [ ] Prefilter JSON [ ] Get Geo-location Data
Working on it!


Question: Your `for` loop should use `i < count` as the condition. ```js <del> assert.match(__helpers.removeJSComments(code), /fors*(s*lets+is*=s*0;s*is*<s*count;/); </del> <ins> assert.match(__helpers.removeJSComments(code), /fors*(s*lets+is*=s*0s*;s*is*<s*counts*;/); </ins> ``` # --seed--

the code below should be accepted by the check for step 35 of the pyramid project as it is a valid attempt. However, currently it is not accepted unless the user deletes the extra space to the immediate left of the second semi-colon. less strict space checking in the for loop condition. No response N/A No response


Question: "Bracket notation is a way to get a character at a specific index within a string.", "Computers don't start counting at 1 like humans do. They start at 0.", "For example, the character at index 0 in the word "Charles" is "C". So if var firstName = "Charles", you can get the value of the first letter of the string by using firstName[0].",  "Use bracket notation to find the first character in a the firstLetterOfLastName variable.",   "Use bracket notation to find the first character in the firstLetterOfLastName variable.",  "Try looking at the firstLetterOfFirstName variable declaration if you get stuck." ], "tests": [

Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible. 4th paragraph reads: "Use bracket notation to find the first character in a the firstLetterOfLastName variable." The "a" is not necessary


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

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


Question:
"id": "56533eb9ac21ba0edf2244d4", "title": "Comparison with the Greater Than Operator", "description": [  "The greater than operator (>) compares the values of two numbers. If the number to the left is greater than the number to the right, it returns true. Otherwise, it returns false.
Like the equality operator, greater than operator will convert data types of values while comparing.",   "The greater than operator (>) compares the values of two numbers. If the number to the left is greater than the number to the right, it returns true. Otherwise, it returns false.", "Like the equality operator, greater than operator will convert data types of values while comparing.",  "Examples", "
 5 > 3   // true
 7 > '3' // true
 2 > 3   // false
'1' > 9  // false
", "
Instructions
",

Challenge has an issue. User Agent is: <codeMozilla/5.0 (Macintosh; Intel Mac OS X ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36</code. Please describe how to reproduce this issue, and include links to screenshots if possible. My code: Usually, paragraphs are separated with an empty line but here it is not. Currently, both paragraphs are in one string with a separating the two paragraphs. For this challenge in the file, the second paragraph should be on its own string so the spacing is consistent with all the other challenges. !
Same goes for this challenge as well:
Humm, don't know why I did that. Yes, these need a proper line break.
Is this how you fork? This is my first time.
I would consult the . It's got a lot of helpful information. The things I can see that need to be changed are: the branch name (it needs to be in the form of so like would be good) and also the issue number should not be in the commit title. It should be in the commit body and say something like . Here's more information about .


Question: const mapStateToProps = createSelector( userSelector, user => ({ <del> ...user.profileUI, </del> user }) );

to your profile settings page the privacy setting to the top and click The privacy setting you changed will not have taken effect. From there, you can go back to the settings using the settings button, and the privacy setting will still show it as it was before you changed it. I believe this is due to using to navigate to the portfolio. The setting will have actually changed in the DB, but the effects won't show until you do a hard reload.
I can fix this if it's decided to change it.
As far as I can see, the problem is that the user is only pulled from the server once. The server is getting updated correctly, but the redux store isn't being asked to mirror these changes.
as there seems to be an issue with a redux reducer.
I was speaking to earlier and he says:
Is someone looking into this ( Otherwise I can take a crack at it tomorrow.
Go for it - let me know if you want to team up on it.


Question: ], "helpRoom": "Help", "fileName": "01-responsive-web-design/basic-css.json" <del> } </del>  No newline at end of file <ins> } </ins>

I don't think this challenge is described correctly. The idea that a variable is only available to the element and it's children has nothing to do with cascading. It's a clear definition of scope. Cascading is the concept that if there are multiple of a thing, the last one wins, which is described in the previous challenge related to fallbacks. Just my 2cents for what it's worth, but if I had someone come in for an interview and tell me cascading was the idea that a variable could only be used by an element and it's children, I would consider that a wildly misunderstood concept.
Thanks for reporting this! While this challenge isn't intended to introduce the concepts of cascade and inheritance, it clearly does not use the terms correctly. I'll have a go at rewriting the challenge to show that CSS variables behave like ordinary properties in this respect.
for what it's worth, this was discussed a little bit in a previous issue that was never resolved - - perhaps it should be reworded since it has now come up multiple times.


Question: // when non-empty search input submitted return query ? window.location.assign( <del> `https://freecodecamp.org/news/search/?query=${encodeURIComponent( </del> <ins> `https://www.freecodecamp.org/news/search/?query=${encodeURIComponent( </ins> query )}` )

Describe the bug Using the search-Field and clicking "See all results ..." To Reproduce Steps to reproduce the behavior: to '' on 'Search Field' and enter s.th. I did "Flutter" and then I clicked "See all results for Flutter" error: "404 Page not found" I think the error is easy to fix: The automatic created result link after clicking has double "news"-part: if I manually remove one "news" as the result would be the correct one.
Thanks for the report! It seems it's a problem with redirection. redirects to and the link is to which redirects to cc:
Thank you for reporting this This was also a problem on /news. I deployed a quick fix and am working on PRs now. I noticed that we could change the URLs in the search related files from to This seems to get around the problematic redirect, at least for search results. Still an issue we need to investigate further for other use cases.
search is still broken? I can't get anything to load for generic searches.
what sort of generic searches are not loading for you? Things seem to be working on my end whether I search from .org/ or .news/.
working on my side on news and learn from multiple locations for the initial test case.
!
Should it say something like "No results for for 'this is a generic search', please try a different query"?
Thanks for the gif, I see what you mean now. The behavior should be a message that says "No tutorials found" and not to allow the search to complete. There's a PR for this on News , and I'll start working on the implementation in the main repo.
I am going close this since the above prs address the issue. Feel free to reopen if you think this issue has been closed by mistake.
Has the fix landed on production. I am able to reproduce the issue?
has not landed yet on learn. but you could see the fix on /news
The query string is passed on to the news application. URL is available on the GIF that I sent.
we deployed the updated theme to News, so you shouldn't be able to enter a long string there and hit the search results page. Once the fix to Learn is deployed you won't be able to pass long strings with no hits to News like in the GIF.


Question: // when non-empty search input submitted return query ? window.location.assign( <del> `https://freecodecamp.org/news/search/?query=${encodeURIComponent( </del> <ins> `https://www.freecodecamp.org/news/search/?query=${encodeURIComponent( </ins> query )}` )

Quick follow up, is there anything that is preventing us from deploying?
sorry for the delay in deploying. We just got access to the client VM to clear out the old builds. We'll do that later today and get all these changes out.
Great, thanks for confirming. Apologies I have the keys to the VMs a couple days ago. I missed letting you know. I have also cleared the older builds. You should be able to simply run a build. Thanks.
No worries man. Thank you for adding our keys. We should have checked to see if we had access yet. We're just about to go in now and run a build.
This fix has been deployed. The problem in the gif above should no longer be possible on or


Question: You can help expand them and make their wording better. You can also update the user stories to explain the concept better or remove redundant ones and improve the challenge tests to make them more accurately test people's code. <del> **If you're interested in improving these coding challenges, here's [how to work on coding challenges](/how-to-work-on-coding-challenges.md).** </del> <ins> **If you're interested in improving these coding challenges, here's [how to work on coding challenges](how-to-work-on-coding-challenges.md).** </ins> ### Learning Platform

There are two links in docs. Following are the two links how to work on coding challenges. up freeCodeCamp locally I am also adding screenshot to show more clearly that which links are broken. ! so when we click on these links in README in docs it shows page not found
Nice catch! I will correct this.
i have linked pr for this issue kindly merge it thanks
We will have to figure out a better way to handle links. We are currently using to host our documentation at This means we have to handle links in a way that they work on that page. I think a quick way to work around this would be to rename to which we render on the contribute page. Then we create a in which just has a notice similar to the Thoughts?


Question: assert.match(attack.toString(), /ifs*(Math.random()s*<=s*.1/); ``` <del> You should use the logical and operator `&&`. </del> <ins> You should use the logical AND operator `&&`. </ins> ```js assert.match(attack.toString(), /ifs*(Math.random()s*<=s*.1s*&&/); ``` <del> You should use the logical and operator to check if `inventory.length` does not equal `1`. </del> <ins> You should use the logical AND operator to check if `inventory.length` does not equal `1`. </ins> ```js assert.match(attack.toString(), /ifs*(Math.random()s*<=s*.1s*&&s*inventory.lengths*!==s*1s*)/);


Question: <ins> import { FastifyPluginCallbackTypebox, Type } from '@fastify/type-provider-typebox'; type Endpoints = [string, 'GET' | 'POST'][]; export const endpoints: Endpoints = [ ['/refetch-user-completed-challenges', 'POST'], ['/certificate/verify-can-claim-cert', 'GET'], ['/api/github', 'GET'] ]; export const deprecatedEndpoints: FastifyPluginCallbackTypebox = ( fastify, _options, done ) => { endpoints.forEach(([endpoint, method]) => { fastify.route({ method, url: endpoint, schema: { response: { 410: Type.Object({ message: Type.Object({ type: Type.Literal('info'), message: Type.Literal( 'Please reload the app, this feature is no longer available.' ) }) }) } }, handler: async (_req, reply) => { void reply.status(410); return { message: { type: 'info', message: 'Please reload the app, this feature is no longer available.' } } as const; } }); }); done(); }; </ins>

Thanks for noticing this, Sem. As this route has been deprecated for a while, we should be able to safely sunset this route - NOT have it in the new API.
Reopening it as we're migrating deprecated endpoints as discussed in todays API meeting


Question: } const propTypes = { <del> clinetId: PropTypes.string, </del> <ins> clientId: PropTypes.string, </ins> createOrder: PropTypes.func, createSubscription: PropTypes.func, donationAmount: PropTypes.number,


Question: .col-xs-12.col-sm-9.col-md-10 li.large-p.faded.negative-10 a(href='#' + challengeBlock.dashedName)= challengeBlock.name <del> h3= challengeBlock </del> else .hidden-xs.col-sm-3.col-md-2 .progress.progress-bar-padding.text-center.thin-progress-bar

! Hi I have found this on my Learning Map... Hope this can help you all in solving bugs... :)
! Note: it seems to appear only on the section of lessons that I have completed.
This was fixed in and can be closed.
after reloading the page, I still get this - has the fix not been pushed to the server yet?
It got pushed just there folks!


Question: "id": "bad87fee1348bd9aedf07756", "title": "Override All Other Styles by using Important", "description": [  "Yay! We just proved that in-line styles will override all the CSS declarations in your style element.",   "Yay! We just proved that inline styles will override all the CSS declarations in your style element.",  "But wait. There's one last way to override CSS. This is the most powerful method of all. But before we do it, let's talk about why you would ever want to override CSS.", "In many situations, you will use CSS libraries. These may accidentally override your own CSS. So when you absolutely need to be sure that an element has specific CSS, you can use !important",  "Let's go all the way back to our pink-text class declaration. Remember that our pink-text class was overridden by subsequent class declarations, id declarations, and in-line styles.",   "Let's go all the way back to our pink-text class declaration. Remember that our pink-text class was overridden by subsequent class declarations, id declarations, and inline styles.",  "Let's add the keyword !important to your pink-text element's color declaration to make 100% sure that your h1 element will be pink.", "An example of how to do this is:", "color: red !important;"

Challenge has an issue. User Agent is: <codeMozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko/ Firefox/50.0</code. Please describe how to reproduce this issue, and include links to screenshots if possible. There is inconsistent spelling in the instructions. Is it "inline" or "in-line"?
thanks for the issue. They should all be .


Question: dragAndDrop: true, lightbulb: { enabled: false <del> } </del> <ins> }, quickSuggestions: false </ins> }; this._editor = null;

Describe the bug Up and down arrow key don't work after typing JavaScript reserved words To Reproduce to a challenge in Basic JavaScript (Example: ) the following code: (or other JavaScript reserved words) in the second line up or down arrow key on the keyboard pointer can't move to the previous or the next line Expected behavior The pointer can move to the previous or the next line Desktop OS: Windows 10 Browser: Chrome Version: 83.0.4103.61
Yeah, I just tested it. It's reproducible.
It looks like it happens if there's a syntax error. Also it can be cleared by typing anything else. I reproduced it by clearing the editor and then typing At which point the cursor will not move up. However, if you press , everything starts working properly again.
Yeah... it's definitely not a big bug. Might cause minor annoyance though.
Agreed. It's not urgent, but it's definitely not working quite right.
I'm guessing it has to do with the changes we made to the editor in I think the arrow input is stuck inside a hidden suggest menu. I would need to look into it some more but here is a gif showing changing as I click the up and down arrow. I suspect this happens after triggering the menu and the arrow up/down input is supposed to be moving up and down inside the menu. ! The menu from the monaco editor playground ! Edit: It is the menu. You can pick an item from it. let down arrow Enter is replaced with (see screenshot above for the location of length in the menu)


Question: # --description-- <del> Inside the `case` for `mm-dd-yyyy-h-mm`, set the `textContent` property of `currentDateParagraph` to `${month}-${day}-${year} ${hours} Hours ${minutes} Minutes`. </del> <ins> When the user selects the `Month, Day, Year, Hours, Minutes` option from the dropdown, you need to display the date in the format `mm-dd-yyyy h Hours m Minutes`. Inside the `case` for `mm-dd-yyyy-h-mm`, use string interpolation to assign the formatted date from above to the `textContent` property of `currentDateParagraph`. Make sure to use the `month`, `day`, `year`, `hours`, and `minutes` variables in your answer. </ins> # --hints-- <del> You should assign `${month}-${day}-${year} ${hours} Hours ${minutes} Minutes` to the `textContent` property of `currentDateParagraph`. </del> <ins> Your answer should follow this format: `mm-dd-yyyy h Hours m Minutes`. Replace `mm`, `dd`, `yyyy`, `h`, and `m` with the `month`, `day`, `year`, `hours`, and `minutes` variables you created earlier. </ins> ```js const pattern = /cases*('|")mm-dd-yyyy-h-mm1s*:s*currentDateParagraph.textContents*=s*`(${month}-${day}-${year} ${hours} Hours ${minutes} Minutes)`/;

In step 28 of the date formatter project, the hint shows the solution, which is not hard to explain. This might not be ideal for learning, as a camper (especially a JS) beginner can go ahead and copy the solution from the hint without bothering to understand what the code does. ! N/A The solution should not be in the hint text because it can be described. We could go with something like this: If the text is too long, it is better to break the hint text and test into two. No response Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] No response
The same text is in the description, it would make sense to change description to not give out answer at the start.
Based on the activity I have seen on the forum, I think campers will struggle with connecting "interpolate the , , , , and " with the desired format we are asking from them. I think it would be best to show them the desired format in the description. something like this for the description
So we should leave the hint as is and modify the description text?
for the hint text we could go with this
Ok. Let's open it up for contribution then.
This has been opened for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors. If you would like to contribute and have not read the contributors docs, please do so here: If you have any issues with contributing, be sure to join us on the , or on the please use this for the updated description please use this for the updated hint text Happy coding


Question: testString: myRegex.lastIndex = 0; assert(myRegex.test('Eleanor Roosevelt')); - text: Your regex myRegex should return false for the string Franklin Rosevelt testString: myRegex.lastIndex = 0; assert(!myRegex.test('Franklin Rosevelt'));  - text: Your regex myRegex should return false for the string Frank Roosevelt testString: myRegex.lastIndex = 0; assert(!myRegex.test('Frank Roosevelt'));  - text: You should use .test() to test the regex. testString: assert(code.match(/myRegex.test(s*myStrings*)/)); - text: Your result should return true.

<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --Describe your problem and how to reproduce it: I'm on the Regular Expressions: Check For Mixed Grouping of Characters. I was able to pass this checkpoint with a solution that doesn't meet the objectives of the assignment. I used the following code: With this code I match just “Roosevelt” which is only part of the name(s), yet I still pass the assignment. Add a Link to the page with the problem: With this code I match just “Roosevelt” which is only part of the name(s) we are supposed to match for this assignment, yet I still pass the assignment. Tell us about your browser and operating system: Browser Name: Chrome Browser Version: Version 79.0.3945.117 (Official Build) (64-bit) Operating System: Windows 10 pro If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box):
I think that the regex you've written should pass the test. The part is a capturing group, so the regex will match or . The as a quantifier will match the above 0 or 1 times. This means that your regex will capture as well as Unless, I'm mistaken, I hope this helps :)
Apologies... Actually, I've re-read the instructions. I think you may be onto something.
Yeah, the problem is that it matches the string " Roosevelt". A simple solution would be to add another test that makes sure it fails if you use, say, "Frank Roosevelt".
Would like to have a crack at this
Go ahead and create a PR.
Had a go Please see


Question:
 Quincy Larson

Executive Director, freeCodeCamp.org

{t('certification.executive')}

 <Row>
Verify this certification at {certURL}

 {t('certification.verify', { certURL: certURL })}
  </Row>  </Row>

The certification files () have been uploaded to Crowdin for translation. However, the React Component itself does not use the translation helper for the text within the certification (such as ). The component and files should be updated to allow this.


Question: render() { const { duration, planId, amount } = this.state; const isSubscription = duration !== 'onetime'; <ins> if (!paypalClientId) { return null; } </ins> return ( <PayPalButtonScriptLoader amount={amount} <del> clinetId={paypalClientId} </del> <ins> clientId={paypalClientId} </ins> createOrder={(data, actions) => { return actions.order.create({ purchase_units: [

Describe the bug The PayPal sdk gets called by the local site, even when there are no keys specified in .env To Reproduce Steps to reproduce the behavior: to any page with a donation component the console a 400 error Expected behavior If the keys are missing, PayPal should not be contacted. Screenshots !
/cc
Hello guys! Does this happen on page or somewhere else too? Can't recreate it anymore, happend only once. I'd like to help with that issue if you don't mind Also, I noticed PaypalButton has a typo -in props, example:
it should happen if you hard refresh on donation page. (and on donation modal) That script loads the button. A solution would be to check for paypalClientId in the render of PaypalButton component and return PayPalButtonScriptLoader only if paypalClientId is truthy.
PR is ready. Could you please take a look? Also about the Stripe issue. I'm not sure if it's expected/known but if I don't configure the key for stripe, the page isn't loading for me at all. <img width="1054" alt="CleanShot 2020-05-11 at 02 59 29 src="https://user-"
Yikes, that seems like it needs a fix as well. Thanks for catching that.


Question: except: continue if len(exp_ball_list_copy) == 0: <del> success += 1 probability = success/num_experiments </del> <ins> success += 1 probability = success/num_experiments </ins> return probability ```

Faulty method of the class can expose itself only during function tests. Case when number of balls to draw is higher than number of balls in hat is not tested explicitly, but it can fail function test, as it includes such experiment. - - Depending on the number of balls to draw and number of balls in Hat: Remove the required number of balls randomly selected, from the Hat. If number of balls to draw is higher than the number of balls, return all the balls. Test for the method checks only the first case: The second behavior is not checked explicitly, but it's a part of the second sub-case in the function test. This creates situation where passing method test and failing function test, can suggest to camper that issue lies in the function. Example with faulty method: Error: Adding test to check second behavior of the method would make debugging easier for campers, as it would show more clearly where is the issue. No response n/a No response


Question: { objectID: `default-hit-${searchQuery}`, query: searchQuery, <del> url: `https://freecodecamp.org/news/search/?query=${encodeURIComponent( </del> <ins> url: `https://www.freecodecamp.org/news/search/?query=${encodeURIComponent( </ins> searchQuery )}`, title: `See all results for ${searchQuery}`,


Question: { objectID: `default-hit-${searchQuery}`, query: searchQuery, <del> url: `https://freecodecamp.org/news/search/?query=${encodeURIComponent( </del> <ins> url: `https://www.freecodecamp.org/news/search/?query=${encodeURIComponent( </ins> searchQuery )}`, title: `See all results for ${searchQuery}`,


Question: Your code should have two `meta` elements. ```js <del> assert(code.match(/<meta.*/?>/g).length === 2); </del> <ins> assert(code.match(/<meta.*?/?>/g).length === 2); </ins> ``` Your `meta` element should have a `name` attribute with a value of `viewport`.

If the user adds the new tag on the same line as the first tag then the test will fail. The hint will tell the user that they should have two tags, which they do. As soon as the new tag is moved to a new line then the test will pass. If we want to require that new tag be on a separate line then we should mention this in the instructions or give a hint that tells the user it must be on its own line. Otherwise we should update the test to stop checking for this. No response Confirmed in both Firefox and Chrome. 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: Changes to make: You will need to change this test: The regex needs to become . Explanation: the matches everything but line breaks, so the pattern with matches all the line up to the , in case of two meta tags on the same line, it matches both of them at once. Adding the in front of makes it a lazy matching, meaning it will match as little as possible while satisfying the pattern, and if the two meta tags are on the same line it will end the match at the first . Please make sure you read , we prioritize contributors following the instructions in our guides. Join us in if you need help contributing, our moderators will guide you through this. Sometimes we may get more than one pull requests. We typically accept the most quality contribution followed by the one that is made first. Happy contributing.


Question: ) return drawn <del> def experiment(hat, expected_balls, num_balls_drawn, num_experiments): </del> <ins> def experiment(hat, expected_balls, num_balls_drawn, num_experiments): </ins> expected_balls_list = [] drawn_list = [] success = 0


Question: Typeface plays an important role in the accessibility of a page. Some fonts are easier to read than others, and this is especially true on low-resolution screens. <del> Change the font for both the `h1` and `h2` elements to `Verdana`, and use another sans-serif _web safe_ font as a fallback. </del> <ins> Change the font for both the `h1` and `h2` elements to `Verdana`, and use another web-safe font in the sans-serif family as a fallback. </ins> Also, add a `border-bottom` of `4px solid #dfdfe2` to `h2` elements to make the sections distinct.

<!-- 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. --in here should exist <code</codeelement: <codesans-serif</code ! <!-- If applicable, add screenshots to help explain your problem. you can drag and drop, png, jpg, gif, etc. in this box. --<!-- Please complete the following information. --win11 Firefox Device: [e.g. iPhone6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.4] Browser: [e.g. chrome, safari] Version: [e.g. 22] <!-- Add any other context about the problem here. --I want to modify it myselfbut I don't know how to deal with it. I don't know how to find him
Hi thanks for raising this issue, but there's nothing to fix here. The reason is that sans-serif is not being used as a programming term here, it is referring to the class of fonts. Multiple different fonts, such as Arial and Helvetica, fall into this class.
Hi@ Verdana similarly referring to the class of fonts, but please note picture, Verdana is surrounded <codeVerdana </code! in here should keep consistent
Thanks, that's a good point. I think Verdana should simply be plain text for consistency.
and The instruction to set the preferential font to is not a suggestion for a family of fonts. It is an instruction to use the code-word as the preferential font. It should remain within a element. Specifically, we are talking about family-names and generic-names : is not a generic-name font.
It's a bit of grey area, to be honest, but I feel like this is not really code. Reason being, it's just the name of specific font family called Verdana. It's not a keyword or part of any specific language, it just a string id that lets you get a via a rule.
Am I missing something?


Question: Typeface plays an important role in the accessibility of a page. Some fonts are easier to read than others, and this is especially true on low-resolution screens. <del> Change the font for both the `h1` and `h2` elements to `Verdana`, and use another sans-serif _web safe_ font as a fallback. </del> <ins> Change the font for both the `h1` and `h2` elements to `Verdana`, and use another web-safe font in the sans-serif family as a fallback. </ins> Also, add a `border-bottom` of `4px solid #dfdfe2` to `h2` elements to make the sections distinct.

The challenge expects Campers to use the code , if they put anything else, it will fail. js const gs = (s) =new __helpers.CSSHelp(document).getStyle(s); const style = gs('h1, h2') gs('h2, h1'); assert.include(style?.fontFamily, 'Verdana'); `
and sans-serif both part of the actual css code !
My two cents, for what it's worth. I think Verdana should remain marked up as code since the instructions are specifically telling the user to use Verdana for the initial font. I've found other courses that have the font name marked up as code in the instructions as well. And it just seems that in general, whenever the instructions tell the user exactly what value to add, the value is marked up as code. And I also think that sans-serif should not be marked up as code since it is referring to a family of fonts and the tests will accept five different fonts for the fallback, so we aren't telling the user specifically what to use here. I'm guessing any confusion stems from the fact that one of the acceptable fall back fonts is sans-serif itself. Perhaps we could reword this a little? "..., and use another web-safe font in the sans-serif family as a fallback."
Thank you all very muchI understand itsans-serif is a family, Verdana is a sans-serif family menber. I think the suggestion is very good. <br !
Let's go with wording, I think that should be clearer than what we have.
How should I further locate where the file is !
is the file you need. We're in the process of making it easier to search for individual steps, but for now you can search for the title (Step 17 in this case) within that folder. For instance
 thank you ---Original--- From: "Oliver Date: Fri, Apr 8, 2022 19:10 PM To: Cc: Subject: Re: [freeCodeCamp/freeCodeCamp] in here should exist element (Issue ) is the file you need. We're in the process of making it easier to search for individual steps, but for now you can search for the title (Step 17 in this case) within that folder.


Question: Typeface plays an important role in the accessibility of a page. Some fonts are easier to read than others, and this is especially true on low-resolution screens. <del> Change the font for both the `h1` and `h2` elements to `Verdana`, and use another sans-serif _web safe_ font as a fallback. </del> <ins> Change the font for both the `h1` and `h2` elements to `Verdana`, and use another web-safe font in the sans-serif family as a fallback. </ins> Also, add a `border-bottom` of `4px solid #dfdfe2` to `h2` elements to make the sections distinct.

For instance grep -r 'Step 17' — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID:


Question: id: 'execute-challenge', label: 'Run tests', /* eslint-disable no-bitwise */ <del> keybindings: [monaco.KeyMod.CtrlCmd | monaco.KeyCode.Enter], </del> <ins> keybindings: [ monaco.KeyMod.CtrlCmd | monaco.KeyCode.Enter, monaco.KeyMod.WinCtrl | monaco.KeyCode.Enter ], </ins> run: () => { if (props.usesMultifileEditor && !isFinalProject(props.challengeType)) { if (challengeIsComplete()) {

Even though on macOS it would seem that Ctrl+Enter does not work & Cmd+Enter does; website still tells you to use Ctrl+Enter. I think this might end up being confusing for some - and should be fairly straightforward of a change. All coding pages You must use macOS for this issue. to any coding challenge your changes will see button underneath says "Check your code (Ctrl + Enter)" Ctrl + Enter will happen. Cmd + Enter behaviour will occur. It should tell the user correct shortcut (Cmd + Enter) instead of (Ctrl + Enter) depending on the platform. <img width="647" alt="Screenshot 2022-06-09 at 16 52 28" src="https://user-"- Device: M1 MacBook Pro OS: macOS 12.0.1 Browser: Safari Version: 15.1 No response
I would like to handle this issue as a first contribution. My proposal would be to use (). Use Ctrl + Enter as a fallback and define a special case for macOS cases. Alternatively we could use () however that is not widely supported as opposed to . As far as I can tell on mobile we don't show modifier keys on the button; so I'll preserve that behaviour. I can't change the labels on this issue - I don't think this is severe enough to be classified as a bug based on definition; my apologies regarding that.
Hey thanks for raising this issue and don't worry about the labels, they need to be handled by maintainers. What you've suggested does sound good to me, so if you're happy to take this on, that's awesome.
I've created the PR however; I've updated non English translations as well in here to use dynamic values; however not really sure how to align it with the crowdin. Since updated translations should coincide with this change; any opinions on this?
Do not worry, I think you are putting too much effort into it. Simply drop the changes to those files and as the bot mentioned, they will get updated eventually via our translation workflow. As for the bug itself: I am 100% sure at some point we introduced a regression, because (in addition to the implicit Cmd + Enter) was working since the inception of the code editor. do you happen to know if this was just an accident with the new editor?


Question: id: 'execute-challenge', label: 'Run tests', /* eslint-disable no-bitwise */ <del> keybindings: [monaco.KeyMod.CtrlCmd | monaco.KeyCode.Enter], </del> <ins> keybindings: [ monaco.KeyMod.CtrlCmd | monaco.KeyCode.Enter, monaco.KeyMod.WinCtrl | monaco.KeyCode.Enter ], </ins> run: () => { if (props.usesMultifileEditor && !isFinalProject(props.challengeType)) { if (challengeIsComplete()) {

To be clear it should always work with regardless of the OS in addition to implicitly working with just like it was before.
I can't check this myself, since I don't have a mac, but it should work. This is the code: and could you try and reproduce the issue?
I've shot a short video of the behaviour I am seeing; if that helps.
That does help, yeah. It seems to be ignoring the command button entirely, which is odd. I can't investigate myself, but this will help anyone that has access to a Mac.
Thanks for the video I don't recall if ctrl+enter ever worked on mac - I may or may not have ever used it. I just hit buttons without looking I'm not sure if you are trying to show something specific with those code snippets - that's the code on main. Which results in the current behavior. Edit: I get it now - you were just showing the code and that it should be working. I thought you trying to show new changes or something. Here's the current behavior I see (all on mac) - there's some nuance... New RWD: Execute: only command+enter works on mac Submit: Enter alone works, so any key+enter works Legacy RWD, JS, etc: Execute: Only cmd+enter works Submit: Enter alone does not work - both ctrl+enter or command+enter do work Multiple choice Python video questions: Execute: Enter alone does not work - ctrl+enter and cmd+enter work Submit: Enter alone does not work - both ctrl+enter or command+enter do work Projects with URL inputs - e.g. front end libs cert project, or backend api challenges, etc: Execute: Enter alone works cause it's a form I suppose, which also means any key+enter works Submit: Enter alone does not work - both ctrl+enter or command+enter do work The last three groups there have the same submit modal, so the behavior is the same on all of them. What I see is that the submit modal, and the video question both allow [ctrl or cmd] +enter - we should see what those are doing. Looking into to it...
K, I think I found a fix. ctrl+enter works when the hotkeys package/component is used. So crtl+enter actually does work on the legacy challenges when the instructions are focused.


Question: id: 'execute-challenge', label: 'Run tests', /* eslint-disable no-bitwise */ <del> keybindings: [monaco.KeyMod.CtrlCmd | monaco.KeyCode.Enter], </del> <ins> keybindings: [ monaco.KeyMod.CtrlCmd | monaco.KeyCode.Enter, monaco.KeyMod.WinCtrl | monaco.KeyCode.Enter ], </ins> run: () => { if (props.usesMultifileEditor && !isFinalProject(props.challengeType)) { if (challengeIsComplete()) {

When the editor is focused, those hotkeys don't get used, the actions/hotkeys we add to the editor take over. I made ctrl+enter work when the editor is focused by changing that line 431 mentioned to this: That should work. There's a number of actions in that file that use the same hotkeys - lines 457 and 469 for example. There may be others. I think we should be safe to change all those. Do you mind playing with that a bit and updating the PR to make those changes.
Nice work, Tom. I thought CtrlCmd was "Ctrl or Command", but it must be Ctrl on Windows and Command on Mac :man_facepalming: I guess this has never worked properly.
happy to give it a look and update the PR. Thank you
Here's an I had created sometime back when working on the . Apparently the logic goes like this - the first word is Windows and the second one is Mac button.


Question: testString: 'assert(checkObj({city: "Seattle"}, "city") === "Seattle");' - text: 'checkObj({city: "Seattle"}, "district") should return "Not Found".' testString: 'assert(checkObj({city: "Seattle"}, "district") === "Not Found");'  - text: 'checkObj({pet: "kitten", bed: "sleigh"}, "gift") should return "Not Found".' testString: 'assert(checkObj({pet: "kitten", bed: "sleigh"}, "gift") === "Not Found");'  ```

<!-- 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 challenge "Testing Object for Properties" passes with wrong code: Add a Link to the page with the problem: users find the old solutions, paste that in the editor, and then add a new property to the object... My proposal is to add a few more tests - even obscured if needed, to avoid these kind of solutions passing
I created a PR to deal with this issue.


Question: ```js // multiplies the first input value by the second and returns it const multiplier = (item, multi) => item * multi; <ins> multiplier(4, 2); // returns 8 </ins> ``` </section>

<!-- 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 usage of the word "argument" ist unclear to me. The title of this challenge uses the word "parameter". Then the instructions state: "If an arrow function has a single argument, the parentheses enclosing the argument may be omitted." But the following snippet cited from the instructions shows the parameter "item" without parentheses: The functions are never invoked with an argument in the examples. As I understand it the sentence should say: "If an arrow function has a single parameter, the parentheses enclosing the parameter may be omitted." Add a Link to the page with the problem: or, Tell us about your browser and operating system: Browser Name: Browser Version: Operating System: If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box):
Hello~! I agree that the verbiage is wrong here. should probably be replaced with in the examples and text, with the exception of the top line (which, at a quick glance, is the only correct use of ):
These are the ones that should be changed, I think. In fact, we could use instead.
I like that approach. Think this could be opened up to first timers?
I would go for: Just like a regular function, you can pass arguments into an arrow function. If an arrow function has a single parameter, the parentheses enclosing the parameter may be omitted. It is possible to pass more than one argument into an arrow function.
Sure, that works.


Question: void fastify.register(devLoginCallback, { prefix: '/auth' }); } void fastify.register(settingRoutes); <ins> void fastify.register(deprecatedEndpoints); </ins> return fastify; };

Thanks for noticing this, Sem. As this route has been deprecated for a while, we should be able to safely sunset this route - NOT have it in the new API.
Reopening it as we're migrating deprecated endpoints as discussed in todays API meeting


Question: selectionHighlight: false, overviewRulerBorder: false, hideCursorInOverviewRuler: true, <del> renderIndentGuides: false, </del> <ins> renderIndentGuides: props.challengeType === challengeTypes.python, </ins> minimap: { enabled: false },

When writing Python code in the editor, it would can be a bit frustrating for campers to keep track of the indentation specially if the instructions are a bit wordy. Also, the tests would fail in case indentation is incorrect. It would be a good feature to provide assistance within the browser editor to maintain indentation. A good example is how VSCode provides markers: ! No response


Question: editor.addAction({ id: 'save-editor-content', label: 'Save editor content', <del> keybindings: [monaco.KeyMod.CtrlCmd | monaco.KeyCode.KEY_S], </del> <ins> keybindings: [ monaco.KeyMod.CtrlCmd | monaco.KeyCode.KEY_S, monaco.KeyMod.WinCtrl | monaco.KeyCode.KEY_S ], </ins> run: props.challengeType === challengeTypes.multifileCertProject && props.isSignedIn


Question: editor.addAction({ id: 'save-editor-content', label: 'Save editor content', <del> keybindings: [monaco.KeyMod.CtrlCmd | monaco.KeyCode.KEY_S], </del> <ins> keybindings: [ monaco.KeyMod.CtrlCmd | monaco.KeyCode.KEY_S, monaco.KeyMod.WinCtrl | monaco.KeyCode.KEY_S ], </ins> run: props.challengeType === challengeTypes.multifileCertProject && props.isSignedIn


Question: editor.addAction({ id: 'save-editor-content', label: 'Save editor content', <del> keybindings: [monaco.KeyMod.CtrlCmd | monaco.KeyCode.KEY_S], </del> <ins> keybindings: [ monaco.KeyMod.CtrlCmd | monaco.KeyCode.KEY_S, monaco.KeyMod.WinCtrl | monaco.KeyCode.KEY_S ], </ins> run: props.challengeType === challengeTypes.multifileCertProject && props.isSignedIn


Question:
## Instructions
  Combine the two if statements into one statement which will return "Yes" if val is less than or equal to 50 and greater than or equal to 25. Otherwise, will return "No".   Replace the two if statements with one statement, using the && operator, which will return "Yes" if val is less than or equal to 50 and greater than or equal to 25. Otherwise, will return "No".
 ## Tests

<!-- 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: For this challenge, the starting code in my editor contains the following lines: The challenge is Since the idea behind this challenge is the ability to combine conditions with the && operator, I would expect the starting code to instead read: Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Chrome Browser Version: 76.0.3809.100 Operating System: MacOS Sierra If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box):' <img width="1408" alt="Screen Shot 2019-11-10 at 5 36 23 PM" src="https://user-"
The instructions tell you what to do regardless of the seed code. If the seed code was provided as you describe, it would not be much of a challenge to solve.
I think the point of the exercise is to demonstrate the usage of the && operator, so even though it's easier with my suggestion, it's not trivial. If you'd rather not give that hint, though, there's no reason for the nested if statements in the seed code, and I was confused by them. The seed code should read:
The point of the exercise is two-fold. One is to teach the user how to use the operator. The other is to have the user figure how to achieve the same logic with the operator as without the operator using the nested if statements. I do not see any reason to change this challenge. I will let the other collaborators/mods give their opinions on this issue.
I'm with on this one - I don't think the seed needs changing. I redid the challenge and found that the nested if statements were helpful. You can create the intermediate solution: if you're more comfortable with nested if statements and that will pass all but the first two tests. This allows you to confirm that you've got the logic right before refactoring it into a single conditional. The only thing I would consider changing is to since 'combine' slightly implies that the new statement is built out of the original two, which isn't really the case here.


Question:
## Instructions
  Combine the two if statements into one statement which will return "Yes" if val is less than or equal to 50 and greater than or equal to 25. Otherwise, will return "No".   Replace the two if statements with one statement, using the && operator, which will return "Yes" if val is less than or equal to 50 and greater than or equal to 25. Otherwise, will return "No".
 ## Tests

Doing that should make it less confusing without watering the task down.
Thanks I like your suggestion to change the wording to
Any interest in creating a PR for that
Thank you for the link


Question: (data) => { assert.match( data, <del> /passport.use.*new GitHubStrategy/gi, </del> <ins> /passport.use.*new GitHubStrategy/gis, </ins> 'Passport should use a new GitHubStrategy' ); assert.match(

Affected page Your code The callback url is redacted. Expected behavior I expected this code to pass the tests. But it did not. System (please complete the following information): Device: [Laptop] OS: [Ubuntu 20.4] Browser: [Opera] Version: [77] Additional context The third test didn't pass. So, I ran FCC on my local computer and checked the tests on the page. The first regex test is as follows: The regex won't pass if is on a new line because matches all characters except for the new line. When I replaced with the tests passed. So I think we should change this test to the following: My reasoning is that the correctness of a solution should not depend on formatting. Especially when the formatting is not something very abnormal.
Hello there, Thank you, for taking the time to open this. In general, we need to find a better way of testing these challenges without using RegEx, as mentioned in As for this issue, a quick-fix could be as you mentioned, but, I might even just make the test to use the flag: An issue with the help wanted or first timers only label is open for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors. If you would like to contribute, and have not read the contributors docs, please do so here: If you have any issues with contributing, be sure to join us on the , or on the
Hello, Can I do this? I understand that I just need to change to this , right? I just didn't get this part: "make the test to use the s flag".
Hey . Thank you, for your interest in contributing. The issue with the current test RegEx is the does not match new lines. In JavaScript RegEx, there is an which allows to match new lines. Hope this clarifies
Yes, thank you I've another question, the only way to try these regex tests is by passing the url with the code as if you were someone trying to do the challenge, or does freeCodeCamp makes specific tests for this? Like tests to try the challenge test or something like that.


Question: (data) => { assert.match( data, <del> /passport.use.*new GitHubStrategy/gi, </del> <ins> /passport.use.*new GitHubStrategy/gis, </ins> 'Passport should use a new GitHubStrategy' ); assert.match(

Unfortunately, we currently have nothing to help test the backend content - you will need to have the project and code, and build freeCodeCamp locally with the changes to test. Do remember, this section of the curriculum links all the code needed to pass the current tests.
OK, I'll see if a can give it a try, then! Thank you :)
Hey so I tried it out and the test actually passed without needing to modify anything! I made a deploy in Heroku: https://aileen- Based on this for the challenge. I just modified some files in the repo to see that the first tests of the challenge pass (i.e. try the previous heroku url ) Then skipped some steps and go ahead to modify the part of code that alirezaghey said that wasn't passing the tests. I tried with both codes: the one provided by the and the one provided by alirezaghey and it worked just fine. The file with the code that is being tested is right , as you would see is the same code provided in this issue. Here's a screenshot of the results. <img width="858" alt="Screen Shot 2021-06-24 at 7 24 31 PM" src="https://user-"Supposing I didn't miss anything, I would say that maybe it was a different problem that causes the regex to fail. I'll see if I can try it on Opera browser. I have this config: Device: [Laptop] OS: [Mac OS 10.14.6] Browser: [Chrome] Version: [91]
Hi Are you sure you haven't a false positive produced by the ? Neither of the regexes can differentiate between commented and uncommented code.
You're totally right, I completely forgot about that, sorry. I deleted the commented code and now the test is not passing. Tomorrow will be trying the fix both of you suggested. Thank you for your response!


Question: In the last challenge, you told npm to only include a specific version of a package. That’s a useful way to freeze your dependencies if you need to make sure that different parts of your project stay compatible with each other. But in most use cases, you don’t want to miss bug fixes since they often include important security patches and (hopefully) don’t break things in doing so. <del> To allow an npm dependency to update to the latest PATCH version, you can prefix the dependency’s version with the tilde (`~`) character. Here's an example of how to allow updates to any 1.3.x version. </del> <ins> To allow an npm dependency to update to the latest PATCH version, you can prefix the dependency’s version with the tilde (`~`) character. Here's an example of how to allow updates to any `1.3.x` version. </ins> ```json "package": "~1.3.8"

In RTL, these texts will be broken, because they are a mix of special character, numbers, which follow different direction in RTL than LTR. ~1.2.13 1.2.x 1.x.x To fix these, add code elements around the version number. File: change to there are multiple instances in these files All of them should be wrapped in code elements Speaking of weird interactions. Using special characters that relay on direction will break in RTL, because it will be reverted, in example. will be we can wrap in
I want to contribute towards this issue. Can you assign this issue to me.
The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors. If you would like to contribute, and have not read the contributors docs, please do so here: If you have any issues with contributing, be sure to join us on the , or on the


Question: When you are done, make sure a working demo of your project is hosted somewhere public. Then submit the URL to it in the Solution Link field. <del> The `package.json` file is the center of any Node.js project or npm package. It stores information about your project, similar to how the <head> section of an HTML document describes the content of a webpage. It consists of a single JSON object where information is stored in key-value pairs. There are only two required fields; "name" and "version", but it’s good practice to provide additional information about your project that could be useful to future users or maintainers. </del> <ins> The `package.json` file is the center of any Node.js project or npm package. It stores information about your project, similar to how the `head` section of an HTML document describes the content of a webpage. It consists of a single JSON object where information is stored in key-value pairs. There are only two required fields; `name` and `version`, but it’s good practice to provide additional information about your project that could be useful to future users or maintainers. </ins> <del> If you look at the file tree of your project, you will find the package.json file on the top level of the tree. This is the file that you will be improving in the next couple of challenges. </del> <ins> If you look at the file tree of your project, you will find the `package.json` file on the top level of the tree. This is the file that you will be improving in the next couple of challenges. </ins> One of the most common pieces of information in this file is the `author` field. It specifies who created the project, and can consist of a string or an object with contact or other details. An object is recommended for bigger projects, but a simple string like the following example will do for this project.


Question: onChange={this.handleChange} onFocus={this.handleFocus} onSubmit={this.handleSearch} <del> showLoadingIndicator={true} </del> <ins> showLoadingIndicator={false} </ins> translations={{ placeholder }} /> </ObserveKeys>

Describe the bug Using the search-Field and clicking "See all results ..." To Reproduce Steps to reproduce the behavior: to '' on 'Search Field' and enter s.th. I did "Flutter" and then I clicked "See all results for Flutter" error: "404 Page not found" I think the error is easy to fix: The automatic created result link after clicking has double "news"-part: if I manually remove one "news" as the result would be the correct one.
Thanks for the report! It seems it's a problem with redirection. redirects to and the link is to which redirects to cc:
Thank you for reporting this This was also a problem on /news. I deployed a quick fix and am working on PRs now. I noticed that we could change the URLs in the search related files from to This seems to get around the problematic redirect, at least for search results. Still an issue we need to investigate further for other use cases.
search is still broken? I can't get anything to load for generic searches.
what sort of generic searches are not loading for you? Things seem to be working on my end whether I search from .org/ or .news/.
working on my side on news and learn from multiple locations for the initial test case.
!
Should it say something like "No results for for 'this is a generic search', please try a different query"?
Thanks for the gif, I see what you mean now. The behavior should be a message that says "No tutorials found" and not to allow the search to complete. There's a PR for this on News , and I'll start working on the implementation in the main repo.
I am going close this since the above prs address the issue. Feel free to reopen if you think this issue has been closed by mistake.
Has the fix landed on production. I am able to reproduce the issue?
has not landed yet on learn. but you could see the fix on /news
The query string is passed on to the news application. URL is available on the GIF that I sent.
we deployed the updated theme to News, so you shouldn't be able to enter a long string there and hit the search results page. Once the fix to Learn is deployed you won't be able to pass long strings with no hits to News like in the GIF.


Question: onChange={this.handleChange} onFocus={this.handleFocus} onSubmit={this.handleSearch} <del> showLoadingIndicator={true} </del> <ins> showLoadingIndicator={false} </ins> translations={{ placeholder }} /> </ObserveKeys>

Quick follow up, is there anything that is preventing us from deploying?
sorry for the delay in deploying. We just got access to the client VM to clear out the old builds. We'll do that later today and get all these changes out.
Great, thanks for confirming. Apologies I have the keys to the VMs a couple days ago. I missed letting you know. I have also cleared the older builds. You should be able to simply run a build. Thanks.
No worries man. Thank you for adding our keys. We should have checked to see if we had access yet. We're just about to go in now and run a build.
This fix has been deployed. The problem in the gif above should no longer be possible on or


Question: componentDidMount() { this.props.updateProjectForm({}); } <del> componentDidUpdate() { this.props.updateProjectForm({}); } componentWillUnmount() { this.props.updateProjectForm({}); } </del> handleSubmit(values) { this.props.updateProjectForm(values); this.props.onSubmit();

We have fixed this issue and it live on . Please go ahead and submit links to your solution and GitHub again and it should work now. If you see any 403 in the browser console that is fine and will clear itself. You can safely ignore them. Those are the past updates which will resolve as you submit valid solution URLs. Thanks for your patience with this fix. Original issue: Describe the bug When a backend project is submitted it does not send the solution or Github urls and is rejected, silently, by the server. <details<summaryOriginal issue details: </summaryTo Reproduce Steps to reproduce the behavior: to localhost:8000/learn/apis-and-microservices/apis-and-microservices-projects/exercise-tracker valid urls into Solution and Github Link "I've completed this challenge" "Submit..." at the next challenge to your public profile (with timeline public) that the project does not appear. Expected behavior Either the submission should succeed or the user should be informed that it has failed. </details
I was wrong about the 'silently' part. On the .dev site you can see that there is, briefly, a message warning you that the server is not being updated !, but that gets wiped out when the new page loads.
Can you re-confirm this. I just want to rule out our earlier outage, and that we need to update the template on boilerplate with the as a CORS allowed origin. I think a recent issue came up about this, can you help in digging through the issues on what it was and if it is related.
I can reproduce this on the current master and on production.
I can take a look at the example projects and boilerplates to make sure is allowed as an origin.
Yup, please test one of the projects and see if it works, which may mean we needing to do something fancy about these.
I've checked a few projects and those that have CORS settings all have . I've tried explicitly allowing and disabling Helmet and CORS wherever possible, but still get the same error.
Okay, need to investigate then.
I think the forms may not be sending the URLs in the first place. Well, the server is complaining because it isn't getting them.
Hi everyone! I've been facing this for about a week or so. Tested yesterday and today (just now) and it's still the same.


Question: componentDidMount() { this.props.updateProjectForm({}); } <del> componentDidUpdate() { this.props.updateProjectForm({}); } componentWillUnmount() { this.props.updateProjectForm({}); } </del> handleSubmit(values) { this.props.updateProjectForm(values); this.props.onSubmit();

For me it's at submitting the Issue Tracker project. Tests pass but after clicking Submit and go to next project, the request to fails with status 403, body is just 'Forbidden' and payload has only . For the full request output (headers, etc) see Best.
you were correct. Contributors, The forms are not sending the links to the API and the validation checks on the API reject the calls as 403 I have created a PR which will send a json response to make this less cryptic on the XHR response. Doesn't fix the issue, but better for debugging. Now, coming to the client: need to look into the redux wiring and understand why its not sending out the links to the API as it should. need to fix the learn (possibly in the layout) or somewhere else to show the messages received from API as Flash. The later can some as a separate pull-request.
we are on it.
I am still experiencing this issue when trying to submit my projects. Would you like for me to open a new issue? Edit: Here are some pics of my console for accessing site, going to current challenge, and then submitting the challenge: ! !
Hi Kelsie, Thanks for reporting. Yes, please open a fresh issue.


Question: height: 100%; width: 100%; } <ins> .CodeMirror-lint-tooltip { z-index: 9999; } </ins>  No newline at end of file

<!-- freeCodeCamp Issue Template --<!-- Please provide as much detail as possible for us to fix your issue --<!-- Remove any heading sections you did not fill out --<!-- NOTE: If your issue is CodePen Project / Test Suite related, please open it using the below URL instead --<!-- --<!-- Insert link to challenge below -- <!-- Describe below when the issue happens and how to reproduce it --After writing "use strict" at the top of the editor, the warning icon appears to the left. When the cursor hovers over it, the text bubble that describes the issue is covered by the navbar making it unreadable. <!-- Describe your workspace in which you are having issues--Browser Name, Version: Google Chrome Version 61.0.3163.100 (Official Build) (64-bit) Operating System: mac OS Sierra version 10.12.6 Mobile, Desktop, or Tablet: Laptop <!-- If relevant, paste all of your challenge code in here --<!-- Add a screenshot of your issue --! <img width="1440" alt="screen shot 2017-10-21 at 12 52 09 am" src="https://user-"
Confirmed this on Firefox 56.0 and Chrome 61.0 !
Fixed. Thanks for this issue; I needed a good hacktoberfest PR
No problem!


Question: "Hagamos que cuando un usuario pulse el botón "Get Message", el texto del elemento con la clase message cambie para decir "Here is the message".", "Podemos hacerlo añadiendo el siguiente código dentro de nuestro evento de pulsación:", "$(".message").html("Here is the message");"  ], "namePt": "Mundando texto com eventos de clique", "descriptionPt": [ "Quando nosso evento de clique ocorre, podemos utilizar o Ajax para atualixar um elemento HTML", "Vamos fazer que quando um usuário clicar no botão "Get Message", o texto do elemento com a classe message passe a dizer "Here is the message".", "Podemos fazer isso adicionando o seguinte código dentro do nosso evento de clique:", "$(".message").html("Here is the message");"  ] }, {

[ ] Trigger Click Events with jQuery [ ] Change Text with Click Events [ ] Get JSON with the jQuery getJSON Method [ ] Convert JSON Data to HTML [ ] Render Images from Data Sources [ ] Prefilter JSON [ ] Get Geo-location Data
Working on it!


Question: transform: translateY(-50%); } <ins> .landing-skill-icon { color: #215f1e; font-size: 150px; } .black-text { color: #333; font-weight: 400; font-size: 40px; } .font-awesome-padding { margin-top: 45px; margin-bottom: 20px; } </ins> .background-svg { width: 220px; height: 220px;

There is a typo at the following step: It should present the text: Device: Laptop OS: Windows 11 Browser: Brave Version: 1.


Question: transform: translateY(-50%); } <ins> .landing-skill-icon { color: #215f1e; font-size: 150px; } .black-text { color: #333; font-weight: 400; font-size: 40px; } .font-awesome-padding { margin-top: 45px; margin-bottom: 20px; } </ins> .background-svg { width: 220px; height: 220px;

Challenge has an issue. User Agent is: <codeMozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36</code. Please describe how to reproduce this issue, and include links to screenshots if possible. My code:
methods are case sensitive. should be is a great place for questions like this
thanks for the issue but if you get stuck or have questions with a challenge in the future, please first ask questions to the . What has suggested is correct. Happy coding!
I've tried it several times, making sure code was acurate... there must be another problem
Sorry about that but no one was answering me in the help room
no worries. Yeah, sometimes the Help Rooms are pretty busy and getting help is difficult. Please be patient. There are many people in there that are willing to help. You can always tag me there and I get help you out when I can


Question: transform: translateY(-50%); } <ins> .landing-skill-icon { color: #215f1e; font-size: 150px; } .black-text { color: #333; font-weight: 400; font-size: 40px; } .font-awesome-padding { margin-top: 45px; margin-bottom: 20px; } </ins> .background-svg { width: 220px; height: 220px;

Challenge has an issue. User Agent is: <codeMozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36 OPR/37.0.2178.43</code. Please describe how to reproduce this issue, and include links to screenshots if possible. My code:
Issues are for reporting bugs or other problems with the site. Please consult the for help with writing code.
this is not issue. Your code just don't have any tags.
Thanks for reporting this. GitHub Issues are for reporting bugs on the website only. Please consult the for any assistance to Coding. Happy Coding!


Question: transform: translateY(-50%); } <ins> .landing-skill-icon { color: #215f1e; font-size: 150px; } .black-text { color: #333; font-weight: 400; font-size: 40px; } .font-awesome-padding { margin-top: 45px; margin-bottom: 20px; } </ins> .background-svg { width: 220px; height: 220px;

Challenge has an issue. User Agent is: <codeMozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87 Safari/537.36</code. Please describe how to reproduce this issue, and include links to screenshots if possible. My code:
the instructions are correct. You'll need to return "Huge" whenever . If you get stuck with a challenge, please ask questions to the . Happy coding!


Question: transform: translateY(-50%); } <ins> .landing-skill-icon { color: #215f1e; font-size: 150px; } .black-text { color: #333; font-weight: 400; font-size: 40px; } .font-awesome-padding { margin-top: 45px; margin-bottom: 20px; } </ins> .background-svg { width: 220px; height: 220px;

Challenge has an issue. User Agent is: <codeMozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36</code. Please describe how to reproduce this issue, and include links to screenshots if possible. My code:
Yes. They are, but that's not issue to be logged under this repo :wink: ! Thanks for reporting this. GitHub Issues are for reporting bugs on the website only. Please consult the for any assistance to Coding. Happy Coding!