jiebi/CodeConvo huggingface dataset:
Change:
<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --There is a problem with the test for the telephone validator. They pass validators which do not check for proper spacing or dashing. (i. e. my validator will return true for 55 55-55-555-5). This is the my code which passed the test, but really shouldn't have: I'd recommend adding some extra tests to the exercise. Here is a link to the Tell us about your browser and operating system: Browser Name: Chrome Browser Version: Version 87.0.4280.88 Operating System: Windows 10 If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box):
Link to Link to
I guess a simple fix would be to add this test. should be false

Discussion:
assert(telephoneCheck('(555)5(55?)-5555') === false); ``` <ins> `telephoneCheck("55 55-55-555-5")` should return `false`. ```js assert(telephoneCheck('55 55-55-555-5') === false); ``` </ins> # --seed-- ## --seed-contents--
Change:
<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --Describe your problem and how to reproduce it: In the description, it said "Nest three elements within each of your elements." I think it would be clearer to change it to the following: Nest three elements within each of your elements with class . Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Chrome Browser Version: 87.0.4280.88 Operating System: Mac OS If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box): !
What about the following?
That's even better, thank you.
Would you like to create a PR with this change?
Yes, I would like to do this.

Discussion:
Now we're several `div` elements deep on each column of our row. This is as deep as we'll need to go. Now we can add our `button` elements. <del> Nest three `button` elements within each of your `well` `div` elements. </del> <ins> Nest three `button` elements within each of your `div` elements having the class name `well`. </ins> # --hints--
Change:
Describe your problem and how to reproduce it: Data with test cases is in wrong place in challenge template. This makes it inaccessible when tests are run and makes challenge virtually unsolvable, unless test data is manually copied to the user code. Tests in this challenge uses three arrays, containing two inputs for the function and function outcome - arrays , , . They are called this way: Those variables are currently at the end of sample solution in challenge template. Simple moving them to more appropriate place - or section in the section - as shown in the , would deal with the issue. Add a Link to the page with the problem:

Discussion:
# --seed-- <ins> ## --after-user-code-- ```js let rules=[["A -> apple","B -> bag","S -> shop","T -> the","the shop -> my brother","a never used -> .terminating rule"], ["A -> apple","B -> bag","S -> .shop","T -> the","the shop -> my brother","a never used -> .terminating rule"], ["A -> apple","WWWW -> with","Bgage -> ->.*","B -> bag","->.* -> money","W -> WW","S -> .shop","T -> the","the shop -> my brother","a never used -> .terminating rule"], ["_+1 -> _1+","1+1 -> 11+","1! -> !1",",! -> !+","_! -> _","1*1 -> x,@y","1x -> xX","X, -> 1,1","X1 -> 1X","_x -> _X",",x -> ,X","y1 -> 1y","y_ -> _","1@1 -> x,@y","1@_ -> @_",",@_ -> !_","++ -> +","_1 -> 1","1+_ -> 1","_+_ -> "], ["A0 -> 1B","0A1 -> C01","1A1 -> C11","0B0 -> A01","1B0 -> A11","B1 -> 1B","0C0 -> B01","1C0 -> B11","0C1 -> H01","1C1 -> H11"]]; let tests=["I bought a B of As from T S.", "I bought a B of As from T S.", "I bought a B of As W my Bgage from T S.", "_1111*11111_", "000000A000000"]; let outputs=["I bought a bag of apples from my brother.", "I bought a bag of apples from T shop.", "I bought a bag of apples with my money from T shop.", "11111111111111111111", "00011H1111000"] ``` </ins> ## --seed-contents-- ```js

} return test; } <del> // tail: let rules=[["A -> apple","B -> bag","S -> shop","T -> the","the shop -> my brother","a never used -> .terminating rule"], ["A -> apple","B -> bag","S -> .shop","T -> the","the shop -> my brother","a never used -> .terminating rule"], ["A -> apple","WWWW -> with","Bgage -> ->.*","B -> bag","->.* -> money","W -> WW","S -> .shop","T -> the","the shop -> my brother","a never used -> .terminating rule"], ["_+1 -> _1+","1+1 -> 11+","1! -> !1",",! -> !+","_! -> _","1*1 -> x,@y","1x -> xX","X, -> 1,1","X1 -> 1X","_x -> _X",",x -> ,X","y1 -> 1y","y_ -> _","1@1 -> x,@y","1@_ -> @_",",@_ -> !_","++ -> +","_1 -> 1","1+_ -> 1","_+_ -> "], ["A0 -> 1B","0A1 -> C01","1A1 -> C11","0B0 -> A01","1B0 -> A11","B1 -> 1B","0C0 -> B01","1C0 -> B11","0C1 -> H01","1C1 -> H11"]]; let tests=["I bought a B of As from T S.", "I bought a B of As from T S.", "I bought a B of As W my Bgage from T S.", "_1111*11111_", "000000A000000"]; let outputs=["I bought a bag of apples from my brother.", "I bought a bag of apples from T shop.", "I bought a bag of apples with my money from T shop.", "11111111111111111111", "00011H1111000"]; </del> ```
Change:
Challenge: Forum: Right now you can pass the challenge using a for loop with no conditionals. for both the presence and absence of properties (includes && !includes). change assert messages from "should include" to "should only contain".
Sounds good to me We could possibly use a deepEqual to make sure there aren't any other properties .

Discussion:
# --hints-- <del> The `ownProps` array should include `"name"`. </del> <ins> The `ownProps` array should only contain `"name"`. </ins> ```js <del> assert(ownProps.indexOf('name') !== -1); </del> <ins> assert.deepEqual(ownProps, ['name']); </ins> ``` <del> The `prototypeProps` array should include `"numLegs"`. </del> <ins> The `prototypeProps` array should only contain `"numLegs"`. </ins> ```js <del> assert(prototypeProps.indexOf('numLegs') !== -1); </del> <ins> assert.deepEqual(prototypeProps, ['numLegs']); </ins> ``` You should solve this challenge without using the built in method `Object.keys()`.
Change:
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?

Discussion:
); ``` <del> `bubbleSort` should return an array that is unchanged except for order. </del> <ins> `bubbleSort([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(

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

); ``` <del> `insertionSort` should return an array that is unchanged except for order. </del> <ins> `insertionSort([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(

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

); ``` <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(

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

); ``` <del> `selectionSort` should return an array that is unchanged except for order. </del> <ins> `selectionSort([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(

return array; // Only change code above this line } <del> selectionSort([1, 4, 2, 8, 345, 123, 43, 32, 5643, 63, 123, 43, 2, 55, 1, 234, 92]); </del> ``` # --solutions--
Change:
There are a couple of wording changes needed on the lesson. In the description section, should be changed to In the instructions section, needs backticks around "input"

Discussion:
# --description-- <del> You can build web forms that actually submit data to a server using nothing more than pure HTML. You can do this by specifying an action on your `form` element. </del> <ins> You can build web forms that actually submit data to a server using nothing more than pure HTML. You can do this by specifying an `action` attribute on your `form` element. </ins> For example:

# --instructions-- <del> Nest the existing input element inside a `form` element and assign `"https://freecatphotoapp.com/submit-cat-photo"` to the `action` attribute of the `form` element. </del> <ins> Nest the existing `input` element inside a `form` element and assign `"https://freecatphotoapp.com/submit-cat-photo"` to the `action` attribute of the `form` element. </ins> # --hints--
Change:
<!-- 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: Below mentioned challenge can be passed using simple .sort() function instead of using .sort((a,b) =a-b) Link to the page with the problem: Possible solutions the existing array from [5, 6, 3, 2, 9] to something like [1, 30, 4, 21, ] another test case with array [1, 30, 4, 21, ] So that the challenge cannot be passed without using .sort((a,b) =a-b) function
https://user- Here is my simple solution to this problem. I just use ES6 syntax using spread. return [].sort(); and that is it!
I think this is a change that may be necessary, there often cases where users are stumped in following lessons because they use without an argument and can't understand why the numbers are not ordered from lowest to highest but I will wait for others to comment
The risks of using without a callback function are pretty well covered in the previous challenge : I think changing the test case could be a good way to help campers remember this. And/or adding some sort of warning in the challenge description : "Caution : remember that in order to work as expected, should be used with a callback function"
In order to ensure that the callback function is provided, a test case with the array [, 104, 99] can also be

Discussion:
assert(nonMutatingSort(globalArray) !== globalArray); ``` <ins> `nonMutatingSort([1, 30, 4, 21, 100000])` should return `[1, 4, 21, 30, 100000]`. ```js assert(JSON.stringify(nonMutatingSort([1, 30, 4, 21, 100000])) === JSON.stringify([1, 4, 21, 30, 100000])) ``` `nonMutatingSort([140000, 104, 99])` should return `[99, 104, 140000]`. ```js assert(JSON.stringify(nonMutatingSort([140000, 104, 99])) === JSON.stringify([99, 104, 140000])) ``` </ins> # --seed-- ## --seed-contents--
Change:
Looking forward for reporting a security issue: Please report security issues by sending an email to instead of raising a GitHub issue. Describe the bug The heights of the SVG files on the landing page vary, which causes the certification chart to look inconsistent. To Reproduce <img width="946" alt="zoomfloatingvideowindowandLearntoCode—ForFree—CodingCoursesforBusyPeople" src="https://user-"Desktop (please complete the following information): OS: Mac Browser: Chrome Version: Version 88.0.4324.96 (Official Build) (x86_64)
Hi Quincy, I let know about this already.
in min height, so should take care of it.

Discussion:
<Button block={true} bsStyle='primary' <del> className='btn-cta' </del> id='confirm-donation-btn' type='submit' >

border-radius: 5px; background-color: var(--yellow-light); border-color: var(--yellow-light); <ins> color: black; font-weight: bold; </ins> } button#confirm-donation-btn:active, button#confirm-donation-btn:active:focus, button#confirm-donation-btn:hover { <del> color: var(--secondary-color); </del> <ins> color: black; </ins> background-color: #f2ba38; border-color: #f2ba38; }

font-family: 'Lato', sans-serif; font-size: 1.1rem; margin: 0; <del> color: var(--gray-75); </del> <ins> color: var(--quaternary-color); </ins> } .testimonial-meta p:last-child { margin-top: 15px;

height: 100%; padding-bottom: 100%; position: relative; <ins> background-color: var(--primary-background); </ins> } .testimonial-image {

padding: 25px; text-align: justify; justify-content: center; <ins> background-color: var(--primary-background); </ins> } .landing-top, .as-seen-in,

padding: 4vw 0; } <ins> .map-ui .btn { min-height: 80px; } </ins> @media (min-width: 500px) { .landing-top p { font-size: 1.25rem;

color: var(--secondary-background); } <ins> .link-btn.btn-lg svg, </ins> .map-icon, .cert-header-icon { flex-shrink: 0;

</DefaultLayout> ); } <del> if (/^/donation(/.*)*|^/$|^/donate(/.*)*/.test(pathname)) { return ( <DefaultLayout pathname={pathname} useTheme={false}> {element} </DefaultLayout> ); } </del> return <DefaultLayout pathname={pathname}>{element}</DefaultLayout>; }
Change:
If I try to select text with my mouse so I can copy/paste it or something - the selected text has the same background as the rest of the page. Making it difficult to see what is selected, and frustrating to try and select, well anything. ! This seems to occur across the entire site. Perhaps it was intentional or something, but I don't think it's a good ux. Note: the text does actually get selected, so you can still copy/paste it. Tested on Chrome and Firefox
Good catch. It'll be this PR: which didn't scope the change to challenge descriptions. I'll put together a quick fix. Edit: nevermind, it's just that has to be passed four values, not two. I don't quite understand how this ever worked.

Discussion:
} ::selection { <del> background-color: rgba(var(--highlight-color), 0.3); </del> <ins> background-color: var(--selection-color); </ins> } @media (max-width: 500px) {

.has-success.checkbox label, .has-success.radio-inline label, .has-success.checkbox-inline label { <del> color: rgb(var(--highlight-color)); </del> <ins> color: var(--highlight-color); </ins> } .has-error .help-block,

--yellow-light: #ffc300; --yellow-dark: #4d3800; --blue-light: rgb(153, 201, 255); <ins> --blue-light-translucent: rgb(153, 201, 255, 0.3); </ins> --blue-dark: rgb(0, 46, 173); <ins> --blue-dark-translucent: rgb(0, 46, 173, 0.3); </ins> --green-light: #acd157; --blue-mid: #198eee; --purple-mid: darkviolet;

--primary-background: var(--gray-90); --highlight-color: var(--blue-light); --highlight-background: var(--blue-dark); <ins> --selection-color: var(--blue-light-translucent); </ins> --success-color: var(--green-light); --success-background: var(--green-dark); --danger-color: var(--red-light);

--primary-background: var(--gray-00); --highlight-color: var(--blue-dark); --highlight-background: var(--blue-light); <ins> --selection-color: var(--blue-dark-translucent); </ins> --success-color: var(--green-dark); --success-background: var(--green-light); --danger-color: var(--red-dark);

} .monaco-menu .action-label { <del> color: rgb(var(--highlight-color)); </del> <ins> color: var(--highlight-color); </ins> letter-spacing: 0.02em; }

#instructions ol { font-family: 'Lato', sans-serif; } <del> #description ::selection { background-color: rgba(var(--highlight-color), 0.3); } </del>
Change:
<!-- NOTE: If you want to become an author on freeCodeCamp, you can find everything here: --Describe your problem and how to reproduce it: The problem is when click on this in directory to open link is not valid and go to page. Add a Link to the page with the problem: Recommended fix, suggestions (how would you update it?): I recommend to replace this link by because the basic going to contributors channel. If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box): ! If i can fix it, It will be great for me. Thanks
Thank you for catching this - I'm opening this up to first timers to replace the link in the file.
Thanks, Can i fix it?
Go for it! If you have not done so already, we recommend reviewing our .
Okay, Thanks a lot, I will do that.

Discussion:
# Contribute <del> Tools to help maintain [freeCodeCamp.org](https://www.freecodecamp.org)'s Open Source Codebase on GitHub. We are currently working on creating a tools dashboard for helping you review PRs and translations. Hangout with us in the [contributor's chat room](https://chat.freecodecamp.org/contributors) to learn more. </del> <ins> Tools to help maintain [freeCodeCamp.org](https://www.freecodecamp.org)'s Open Source Codebase on GitHub. We are currently working on creating a tools dashboard for helping you review PRs and translations. Hangout with us in the [contributor's chat room](https://chat.freecodecamp.org/channel/contributors) to learn more. </ins>
Change:
Reference URL: on espanol ! Night mode active: !
To expand: Donation component also breaks on night mode: !
<img width="1440" alt="Screen Shot 2021-02-08 at 11 02 37 PM" src="https://user-"

Discussion:
if (element.type === FourOhFourPage) { return <DefaultLayout pathname={pathname}>{element}</DefaultLayout>; } <del> if (/^/certification(/.*)*/.test(pathname)) { </del> <ins> if (//certification//.test(pathname)) { </ins> return ( <CertificationLayout pathname={pathname}>{element}</CertificationLayout> ); } <del> if (/^/guide(/.*)*/.test(pathname)) { </del> <ins> if (//guide//.test(pathname)) { </ins> console.log('Hitting guide for some reason. Need a redirect.'); } const splitPath = pathname.split('/'); <del> const splitPathThree = splitPath.length > 2 ? splitPath[3] : ''; </del> <ins> const isSuperBlock = (splitPath.length === 3 && splitPath[1]) || (splitPath.length === 4 && splitPath[2]); </ins> <del> const isNotSuperBlockIntro = splitPath.length > 3 && splitPathThree.length > 1; if (/^/learn(/.*)*/.test(pathname) && isNotSuperBlockIntro) { </del> <ins> if (//learn//.test(pathname) && !isSuperBlock) { </ins> return ( <DefaultLayout pathname={pathname} showFooter={false}> {element}
Change:
As we are now rolling out the curriculum in Chinese and Spanish, we need to think about how to get the button to work for the two languages. Currently, when the button is clicked, the user is taken to the English forum () where a pre-populated topic message (in English) is displayed for the user to fill in with relevant information. These topics are dynamically generated before the post is created on the forum, so we will just need to make use of the file for the content of the topics. Also, we will need to route to the correct forum url for Chinese and target the correct subforum for Spanish.
So the Chinese links work correctly, because the Chinese forum is hosted at a different domain (which is passed in to the environment variable). For Espanol, as it currently stands the category comes from the value returned by the .

Discussion:
"nav": { "forum": "https://chinese.freecodecamp.org/forum/", "news": "https://chinese.freecodecamp.org/news/" <ins> }, "help": { "HTML-CSS": "front-end", "JavaScript": "front-end", "Python": "curriculum", "Relational Databases": "curriculum" </ins> } }

"nav": { "forum": "https://forum.freecodecamp.org/", "news": "https://freecodecamp.org/news/" <ins> }, "help": { "HTML-CSS": "HTML-CSS", "JavaScript": "JavaScript", "Python": "Python", "Relational Databases": "Relational Databases" </ins> } }

"nav": { "forum": "https://forum.freecodecamp.org/c/espanol/", "news": "https://freecodecamp.org/espanol/news/" <ins> }, "help": { "HTML-CSS": "Espanol/HTML-CSS", "JavaScript": "Espanol/JavaScript", "Python": "Espanol/Python", "Relational Databases": "Espanol/Relational Databases" </ins> } }

"nav": { "forum": "https://forum.freecodecamp.org/c/italiano/", "news": "https://freecodecamp.org/italian/news/" <ins> }, "help": { "HTML-CSS": "Italiano/HTML-CSS", "JavaScript": "Italiano/JavaScript", "Python": "Italiano/Python", "Relational Databases": "Italiano/Relational Databases" </ins> } }

"nav": { "forum": "https://forum.freecodecamp.org/c/portugues/", "news": "https://freecodecamp.org/portuguese/news/" <ins> }, "help": { "HTML-CSS": "Portugues/HTML-CSS", "JavaScript": "Portugues/JavaScript", "Python": "Portugues/Python", "Relational Databases": "Portugues/Relational Databases" </ins> } }

)}n${i18next.t('forum-help.add-code-three')}nn```n${endingText}` ); <del> const category = window.encodeURIComponent(helpCategory || 'Help'); </del> <ins> const category = window.encodeURIComponent( i18next.t('links:help.' + helpCategory || 'Help') ); </ins> const studentCode = window.encodeURIComponent(textMessage); const altStudentCode = window.encodeURIComponent(altTextMessage);
Change:
Describe the bug When you enter a challenge using a mobile device, the tabs below the main header are displayed with untranslated text To Reproduce Steps to reproduce the behavior (mobile device): to untranslated tabs below the main header Expected behavior Tabs text should be translated. Screenshots Spanish site ! Chinese site ! Desktop (please complete the following information): OS: [Windows 10] Browser: [chrome] Version: [88] Additional context Those strings are not available yet on the Crowdin platform.

Discussion:
"cert-map-estimates": { "certs": "认证（300 小时）", "coding-prep": "（数千小时的挑战）" <ins> }, "editor-tabs": { "info": "信息", "code": "码", "tests": "测验", "preview": "预习" </ins> } }, "donate": {

"cert-map-estimates": { "certs": "Certification (300u00A0hours)", "coding-prep": "(Thousands of hours of challenges)" <ins> }, "editor-tabs": { "info": "Info", "code": "Code", "tests": "Tests", "preview": "Preview" </ins> } }, "donate": {

"cert-map-estimates": { "certs": "Certificación (300 horas)", "coding-prep": "(Miles de horas de desafíos)" <ins> }, "editor-tabs": { "info": "Información", "code": "Código", "tests": "Pruebas", "preview": "Avance" </ins> } }, "donate": {

'cert-map-estimates': { certs: 'Certification (300u00A0hours)', 'coding-prep': '(Thousands of hours of challenges)' <ins> }, 'editor-tabs': { info: 'Info', code: 'Code', tests: 'Tests', preview: 'Preview' </ins> } }, donate: {

import { bindActionCreators } from 'redux'; import EditorTabs from './EditorTabs'; import { showUpcomingChanges } from '../../../../../config/env.json'; <ins> import i18next from 'i18next'; </ins> const mapStateToProps = createStructuredSelector({ currentTab: currentTabSelector

id='challenge-page-tabs' onSelect={moveToTab} > <del> <TabPane eventKey={1} title='Info'> </del> <ins> <TabPane eventKey={1} title={i18next.t('learn.editor-tabs.info')}> </ins> {instructions} </TabPane> <del> <TabPane eventKey={2} title='Code' {...editorTabPaneProps}> </del> <ins> <TabPane eventKey={2} title={i18next.t('learn.editor-tabs.code')} {...editorTabPaneProps} > </ins> {showUpcomingChanges && <EditorTabs />} {editor} </TabPane> <del> <TabPane eventKey={3} title='Tests' {...editorTabPaneProps}> </del> <ins> <TabPane eventKey={3} title={i18next.t('learn.editor-tabs.tests')} {...editorTabPaneProps} > </ins> {testOutput} </TabPane> {hasPreview && ( <del> <TabPane eventKey={4} title='Preview'> </del> <ins> <TabPane eventKey={4} title={i18next.t('learn.editor-tabs.preview')} > </ins> {preview} </TabPane> )}