jiebi/CodeConvo huggingface dataset:
Change:
assert(new __helpers.CSSHelp(document).getStyle('*, ::before, ::after')?.margin === '0px'); ``` <ins> Your `*, ::before, ::after` selector should have a `box-sizing` property set to `border-box`. ```js assert(new __helpers.CSSHelp(document).getStyle('*, ::before, ::after')?.boxSizing === 'border-box'); ``` </ins> # --seed-- ## --seed-contents--

Discussion:
Someone in the forums pointed out that adding the property just to will not have the intended effect since the property is not inherited. It appears to me that removing this property completely from in the final product does not seem to make any difference to the layout. Do we need ? If so, if the intent is to apply it to all elements then it should probably be moved to the rule set. Either remove completely or move it into the ruleset. No response N/A No response
Pretty sure I saw this in another challenge too and it got fixed. The CSS used looks like the of setting the but with the actual inheriting missing from the code. It should be fixed, but I would not suggest we remove , setting that (in my opinion) is pretty much a best pratice.
I'm guessing it would be easier and take less explaining to update step 26 to add the on that selector and then remove the mention of it in step 27. Then update all the seed code.
Just a heads up, if lasjorg PR merged without issue, balance sheet project suffer the same issue, we can open a PR or issue for it, if the PR is merged. Except that the balance sheet project , doesn't do much and moving it break the layout.
Change:
``` ```js <del> const listOfAllDice = document.querySelectorAll(".die"); const scoreInputs = document.querySelectorAll("#score-options input"); const scoreSpans = document.querySelectorAll("#score-options span"); const currentRound = document.getElementById("current-round"); const currentRoundRolls = document.getElementById("current-round-rolls"); const totalScore = document.getElementById("total-score"); const scoreHistory = document.getElementById("score-history"); const rollDiceBtn = document.getElementById("roll-dice-btn"); const keepScoreBtn = document.getElementById("keep-score-btn"); const rulesContainer = document.querySelector(".rules-container"); const rulesBtn = document.getElementById("rules-btn"); </del> --fcc-editable-region-- --fcc-editable-region--

Discussion:
The text desription of this challenge is all wrong. It asks you to get a lot of elements, but the code to do so appears to already be populated when the page loads. See screenshot. As such following the instructions would duplicate the code. All the task requires is that you create the following variables. But that is not what the task description asks for: let diceValuesArr = []; let isModalShowing = false; let score = 0; let total = 0; let round = 1; let rolls = 0; let diceValuesArr = []; let isModalShowing = false; let score = 0; let total = 0; let round = 1; let rolls = 0; My code above works. But this does not match what the description asks for. ! Windows 10, Chrome No response
Change:
"title": "Smallest Common Multiple", "difficulty": "2.11", "description": [ <del> "Find the smallest number that is evenly divisible by all numbers in the provided range.", "In other words, given the range [3,7], you will need to find the least common multiple of 3, 4, 5, 6, and 7.", </del> <ins> "Find the smallest common multiple of the provided parameters that can be evenly divided by both, as well as by all sequential numbers in the range between these parameters.", </ins> "The range will be an array of two numbers that will not necessarily be in numerical order.", <ins> "e.g. for 1 and 3 - find the smallest common multiple of both 1 and 3 that is evenly divisible by all numbers <em>between</em> 1 and 3.", </ins> "Remember to use <a href='//github.com/FreeCodeCamp/freecodecamp/wiki/How-to-get-help-when-you-get-stuck' target='_blank'>Read-Search-Ask</a> if you get stuck. Try to pair program. Write your own code." ], "challengeSeed": [

Discussion:
Having experienced some issues in correctly understanding what is actually requested in the instructions of Bonfire , I'd like to suggest a minor update to its description as follows: Do note that not understanding the current instructions may be language barrier related, and once you actually understand what is being asked the current instructions do seem clear. However, searching the Gitter chat logs does reveal that other people seem to be struggling with the aforementioned as well.
I did not understand the directions either. This makes more sense.
Change:
```html <body> <ins> <div tabindex="1" class="overlay"></div> </ins> <header> <h1>Even Deeper Thoughts with Master Camper Cat</h1> <nav>

Discussion:
Describe your problem and how to reproduce it: The info for the challenge said that.. And the challenge is.. However, after I put on the both the input and the button, then I press "TAB" it isn't the first thing that is selected! In fact, it's not even selected! And I had successfully finished the course. Also, I already checked the and I think it's trying to do the opposite. But again, as I'm a newbie, I don't know wheter I'm wrong or right, I just wanted to ask is this the desired goal? Thank you. Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Mozilla Browser Version: 66.0.5 (64-bit) Operating System: LSB Version: n/a Distributor ID: ManjaroLinux Description: Manjaro Linux Release: 18.0.4 Codename: Illyria
So, positive tabindices are weird. If you follow the instructions, click on the preview pane and shift-tab (i.e. tab backwards), it should focus on the submit button. Shift-tabbing again takes you to the search box. Why exactly mouse clicks put you in the middle of the tab order isn't clear to me. If you navigate to the preview pane entirely by the keyboard, it should focus in the expected order. The search box comes first, then the button and finally the three links. The easiest way I found to see this was to click on the test output box (below the editor) and tab from there. Probably not. I defer to here. In particular I think that we would be better off using this challenge to warn about the problems that come along with using positive values for .
Oh ok, thanks for clearing that up. I did try your suggestion by clicking the test output box first then tab from there, and it works like it used to be (as it should in instruction). But let me take a conclusion, so there's a mistake with the context in the course and it isn't my fault?
I don't think you did anything wrong. In fact, it was helpful that you looked into how it actually behaved and let us know it was a little weird! The challenge isn't wrong exactly, but I think the issues with positive indices could be highlighted a bit more.

Perhaps by inviting campers to tab around the preview panel and see the strange behaviour you noticed. This will need a bit more discussion before we try changing the challenge, though.
Change:
); const initialState = mockedComponent.state(); return ( <del> typeof initialState === 'object' && typeof initialState.name === 'string' </del> <ins> typeof initialState === 'object' && typeof initialState.firstName === 'string' </ins> ); })() ); ``` <del> The property `name` in the state of `StatefulComponent` should render in the `h1` element. </del> <ins> The property `firstName` in the state of `StatefulComponent` should render in the `h1` element. </ins> ```js assert(

Discussion:
A user wondering why his solution passed. I then realized the 2nd test test is not working as intended. The user is supposed to assign a string to a property of . The user's solution assigns an uninitialized variable as a property. The purpose of the test is to make sure the user assigns a string value to a prop named , but the test still allows the user to pass as the prop's value and the test passes. Not sure why, but assigning an uninitialized property to ends up assigned an empty string to it. This of course passes the test requirement but defeats the purpose of the learning here. I suggest changed the required property name to something like , so if a user does something like this, all of the tests will fail. Test in question: The second test should fail because the property of should be undefinedbecause it was not initialized by the user's code. No response Device: [e.g. iPhone 6, Laptop] OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04] Browser: [e.g. Chrome, Safari] Version: [e.g. 22] No response
After a bit of research, it appears that assigning as a property that is uninitialized is the same as writing: = { } Since the window has no name, it is just an empty string.
Change:
"<blockquote>let catStr = "cat";<br>let batStr = "bat";<br>let matStr = "mat";<br>let bgRegex = /[a-e]at/;<br>catStr.match(bgRegex); // Returns ["cat"]<br>batStr.match(bgRegex); // Returns ["bat"]<br>matStr.match(bgRegex); // Returns null</blockquote>", "<hr>", "Match all the letters in the string <code>quoteSample</code>.", <del> "<strong>Note</strong><br>Be sure to match both upper- and lowercase vowels." </del> <ins> "<strong>Note</strong><br>Be sure to match both upper- and lowercase <strong>letters<strong>." </ins> ], "challengeSeed": [ "let quoteSample = "The quick brown fox jumps over the lazy dog.";",

Discussion:
<!-- 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 --The following text seems to be a typo: Be sure to match both upper- and lowercase vowels. It should say: Be sure to match both upper- and lowercase letters.
Hey, I'm a first timer to open source. Is it alright if I take this issue?
PR out
Change:
# --hints-- <del> Route /auth/github should be correct. </del> <ins> Route `/auth/github` should be correct. </ins> ```js <del> (getUserInput) => $.get(getUserInput('url') + '/_api/routes.js').then( (data) => { </del> <ins> async (getUserInput) => { try { const res = await fetch(getUserInput('url') + '/_api/routes.js'); if (res.ok) { const data = await res.text(); </ins> assert.match( <del> data.replace(/s/g, ''), /('|")/auth/github/?1[^]*?get.*?passport.authenticate.*?github/gi, 'Route auth/github should only call passport.authenticate with github' ); }, (xhr) => { throw new Error(xhr.statusText); </del> <ins> data.replace(/s/g, ''), /passport.authenticate.*?github/g, 'Route auth/github should only call passport.authenticate with github' ); } else { throw new Error(res.statusText); </ins> } <del> ); </del> <ins> const res2 = await fetch(getUserInput('url') + '/_api/app-stack'); if (res2.ok) { const data2 = JSON.parse(await res2.json()); const dataLayer = data2.find(layer => layer?.route?.path === '/auth/github'); assert.deepInclude(dataLayer?.route, { methods: {get: true}, path: "/auth/github"}); assert.deepInclude(dataLayer?.route?.stack?.[0], {method: "get", name: "authenticate"}); } else { throw new Error(res2.statusText); } } catch (err) { throw new Error(err); } } </ins> ``` <del> Route /auth/github/callback should be correct. </del> <ins> Route `/auth/github/callback` should be correct. </ins> ```js <del> (getUserInput) => $.get(getUserInput('url') + '/_api/routes.js').then( (data) => { </del> <ins> async (getUserInput) => { try { const res = await fetch(getUserInput('url') + '/_api/routes.js'); if (res.ok) { const data = await res.text(); </ins> assert.match( data.replace(/s/g, ''), <del> /('|")/auth/github/callback/?1[^]*?get.*?passport.authenticate.*?github.*?failureRedirect:("|')/2/gi, </del> <ins> /failureRedirect:("|')/1/g, </ins> 'Route auth/github/callback should accept a get request and call passport.authenticate for github with a failure redirect to home' ); <del> }, (xhr) => { throw new Error(xhr.statusText); </del> <ins> } else { throw new Error(res.statusText); } const res2 = await fetch(getUserInput('url') + '/_api/app-stack'); if (res2.ok) { const data2 = JSON.parse(await res2.json()); const dataLayer = data2.find(layer => layer?.route?.path === '/auth/github/callback'); assert.deepInclude(dataLayer?.route, { methods: {get: true}, path: "/auth/github/callback"}); assert.deepInclude(dataLayer?.route?.stack?.[0], {method: "get", name: "authenticate"}); } else { throw new Error(res2.statusText); </ins> } <del> ); </del> <ins> } catch (err) { throw new Error(err); } } </ins> ``` # --solutions--

Discussion:
The tests need to be updated to allow for the two main ways of defining routes: AND Add a Link to the page with the problem:
We need to figure how to test most things without using regex.
We could change the tests to ping the route, to determine if it was defined correctly?
Change:
); ``` <del> `mergeSort` should return an array that is unchanged except for order. </del> <ins> `mergeSort([1,4,2,8,345,123,43,32,5643,63,123,43,2,55,1,234,92])` should return an array that is unchanged except for order. </ins> ```js assert.sameMembers(

Discussion:
The following challenges have an example function call in the seed code. These function calls should be removed and the related tests should be clarified to reflect the call instead. This sorting challenge is correct and could be used for reference.
Hi, nhcarrigan. I'd like to try to help and solve it. I'm still learning about the project so I would like to ask a question so I can understand the issue better. There is a function call in the file.. bubleSort([1,2,3....]) (example: implement-bubble-) ! And it should be removed from the seed section and transferred to here, similarly to implement-quick-sort: ! ! Is it correct or are there other files that I should be concerned about?
That is correct, yes - this same change should be completed on the four files I've linked. I would, however, recommend holding off on working on this until we receive additional consensus that this is the best way to proceed. If you run in to any questions, feel free to review our or ask in our or the .
Sounds great!! Thanks for the fast response. I will wait until further notice.
Hi MuriloMarquesSantos, are you still interested in fixing this issue?
Change:
}; exports.returnNextBonfire = function(req, res, next) { <del> // TODO //var tempUser = false; </del> if (!req.user) { <del> res.redirect('bonfires/meet-bonfire'); //tempUser = true; //req.user = new User(); </del> <ins> return res.redirect('bonfires/meet-bonfire'); </ins> } <del> var currentTime = parseInt(+new Date() / 1000) </del> <ins> var currentTime = parseInt(+new Date() / 1000); </ins> if (currentTime - req.user.lastContentSync > 86400) { req.user.lastContentSync = currentTime; <del> var completed = req.user.completedBonfires.map(function(elem) { </del> <ins> var completed = req.user.completedBonfires.map(function (elem) { </ins> return elem._id; }); <del> req.user.uncompletedBonfires = resources.allBonfireIds().filter(function(elem) { if (completed.indexOf(elem) === -1) { return elem; } </del> <ins> req.user.uncompletedBonfires = resources.allBonfireIds().filter(function (elem) { if (completed.indexOf(elem) === -1) { return elem; } </ins> }); req.user.save(); }

Discussion:
<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --The test requires a multi-line comment of the form . However, the test fails if additional ` characters are present at the beginning or the end of the text contained within the comment. Some examples : The regular expression for the corresponding test needs to be updated. Browser Name: Google Chrome Browser Version: 60+ Operating System: Ubuntu 18.04 !
Hi, I would like to have a go to fix this problem
That's good, please read .
Test fails if multiline style comment includes either / File: Line: 33 this regex is the problem

When I attempt to Run the tests for the code I submitted for Roman Numerals Converter, the page freezes and I cannot solve the issue until I clear the cashe of my browser. Help!
I have the same issue. My browser complains about a long running script and then bails out.
Ok, I figured this one out... if you use the solution in the Gritter chat, that solution will cause a never ending loop, because of the while expression (while numCopy 0 - which is always true btw). This never ending loop will freeze your browser. Moreover, as I lately discovered, the solution there only covers very few of the cases that we need to test to pass the Bonfire. So back to the drawing board, people!
Leaving this open as a bug for someone to fix the solution in the wiki to one that works with the new test cases.
Change:
npm run insert-step X # where X is the position to insert the new step. ``` <del> ## delete-step </del> <ins> ### delete-step </ins> A one-off script that deletes an existing step, decrementing all subsequent steps (both their titles and in their meta.json) **Note:** This script also runs [update-step-titles](#update-step-titles). <del> ### How to run script </del> <ins> #### How to run script </ins> 1. Change to the directory of the project. 2. Run the following npm command:

Discussion:
challenge-editor should be to the "How to work on practice projects" documentation here:
I'll tackle this today.
Change:
"title": "Target the Parent of an Element Using jQuery", "difficulty": 3.13, "description": [ <del> "Every HTML elements has a <code>parent</code> element from which it <code>inherits</code> properties.", </del> <ins> "Every HTML element has a <code>parent</code> element from which it <code>inherits</code> properties.", </ins> "For example, your <code>jQuery Playground</code> <code>h3</code> element has the parent element of <code>&#60;div class="container-fluid"&#62</code>, which itself has the parent <code>body</code>.", "jQuery has a function called <code>parent()</code> that allows you to access the parent of whichever element you've selected.", "Give the parent of the <code>#target1</code> element background-color of red.",

Discussion:
Challenge has an issue. Please describe how to reproduce it, and include links to screenshots if possible. There are two typos in this waypoint, as indicated in the screenshot: ! In the first paragraph, remove the "s" from the word "elements." In the second test, the close-paren needs to immediately follow the open-paren, and should not appear at the end of the sentence.
Thanks for reporting this! The referenced commit fixes one of your issues, and the other (closing parenthesis) had already been fixed!

Challenge has an issue. In the second sentence, Remember when we used the class to make the button grow fill the entire row? --remove the word "grow".
Change:
} </style> <del> <img class="responsive-img" src="https://s3.amazonaws.com/freecodecamp/FCCStickerPack.jpg" alt="freeCodeCamp stickers set"> <img src="https://s3.amazonaws.com/freecodecamp/FCCStickerPack.jpg" alt="freeCodeCamp stickers set"> </del> <ins> <img class="responsive-img" src="https://cdn.freecodecamp.org/curriculum/responsive-web-design-principles/FCCStickerPack.jpg" alt="freeCodeCamp stickers set"> <img src="https://cdn.freecodecamp.org/curriculum/responsive-web-design-principles/FCCStickerPack.jpg" alt="freeCodeCamp stickers set"> </ins> ``` # --solutions--

Discussion:
We need to replace all images and audio samples for the legacy content with the ones that were just to our freeCodeCamp cdn. Here are all of the files that will need to be updated Here are all of the new asset links
Change:
<Row> {!closeLabel && ( <Col sm={10} smOffset={1} xs={12}> <del> <b>Nicely done. You just completed {blockNameify(block)}.</b> </del> <ins> <b>Nicely done. You just completed {blockNameify(block)}. </b> </ins> {donationText} </Col> )}

Discussion:
<img width="1396" alt="Notifications_Twitter" src="https://user-"
Change:
<del> export const nightThemeStyle = ` <style> html{ color: white; } a { color: #99c9ff; } </style> `; </del>

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

Soon we will have a single column layout where you the preview only shows up when you click a button to show it, or it loads in a separate tab. - could you update the styling on this so that the preview area is unaffected by our styling?
Definitely.
Change:
return submitter(type, state).pipe( tap(() => navigate(introPath ? introPath : nextChallengePath)), concat(closeChallengeModal), <del> concat(showDonate), </del> filter(Boolean) ); })

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