jiebi/CodeConvo huggingface dataset:
Change:
</Link> . </p> <ins> <h4>I cannot pass a challenge, but I think my code is correct</h4> <p> Some browser extensions can interfere with challenge tests. If you are using any, try disabling them and running the tests again. If the problem remains, click the challenge's 'Ask for Help' button to post on the forum. You will need to create a forum account if you don't already have one. </p> </ins> <h4>I have a support question that isn't answered here.</h4> <p> You can ask for help on our forum, and the freeCodeCamp volunteer

Discussion:
I had some style issues on my firefox browser from the "Dark Mode" extension/add-on. Specifically these two issues: - After some frustration and help I found the add-on to be the problem. I'm not sure if there's anything that can be done to avoid issues like this, but I figured it could be discussed a little bit.
It would be tricky to come up with a generic solution, since it depends on the behaviour of each extension. For example, we could stop 's problem, passing with only the seed code, by adding a filter like this: That would fix the issue, but relies on an implementation detail of the extension. I guess we could solve them on a case-by-case basis, but it might be better to put a warning somewhere. Perhaps something that pops up when tests fail?
A warning might be the only way to go - adding tests on a case by case basis just isn't practical - browsers vary and change - extensions change and there's a ton of them. I'm a little concerned with a warning on the pop-up as well - it might make users start looking for problems with an extension when their code is the problem.
That's a good point. Maybe just a suggestion to turn them off at the start of the curriculum, then.
I really don't see a good spot for a warning like that - I remember a notice at one point to use chrome for the best experience, but I'm not sure where it is anymore - next to that might have been a good spot - or perhaps - I don't think too many people are having issue with this so we can probably just leave it alone.
Putting something on the support page could work. How about something like: #### I cannot pass a challenge, but I think my code is correct Some browser extensions can interfere with challenge tests. If you are using any, try disabling them and run the tests again. If the problem remains, click the challenge's 'Ask for Help' button to post on the forum. You will need to create a forum account if you don't already have one.
That actually sounds pretty good
Cool, I'll pop that in a PR.
Change:
renderDonateForm() { const { isFormValid } = this.state; <ins> const { theme } = this.props; </ins> return ( <Row> <Col sm={10} smOffset={1} xs={12}>

Discussion:
Describe the bug ! The input text on the darkmode version of the donate page () are not readable so you cannot see what you are typing. To Reproduce Steps to reproduce the behavior: to '' with darkmode enabled. on the input labled 'Your Card Number:' and enter some numbers. entered input is not readable as the color of the input text is the same as the background-color of the input. bug applies to the credit card expiration and CVC inputs. ! Desktop (please complete the following information): OS: Win10 Browser Brave/Chrome/Firefox
Change:
z-index: 100; } <ins> .map-fixed-header { background: white; z-index: 1; flex: 1; padding-bottom: 25px; } .map-accordion { flex: 9; overflow-y: auto; } </ins> .map-aside-action-item { display: flex; /* main axis */

Discussion:
I really do like the SideCar (I'm assuming that's what your using) Map menu! It gives really quick access to previous challenges. It would cool if the "collapse all challenges" area was fixed to top and everything would slide under it. That way, users wouldn't have to scroll all the way up or down if they're looking for something specific - they would just collapse everything and go to the specific component they're looking for.
I agree. Totally makes sense to have it fixed to the top somehow.
I'm going to start working on this now, should have a PR open shortly.
Change:
"descriptionEs": [ "Hemos terminado de jugar en nuestro patio de recreo jQuery. ¡Vamos a derribarlo!", "jQuery también puede elegir el elemento <code>body</code>.", <del> "Así es como haríamos que el cuerpo entero desapareciera: <code>$("body").addClass('animated fadeOut')</code>", </del> <ins> "Así es como haríamos que el cuerpo entero desapareciera: <code>$("body").addClass('animated fadeOut');</code>", </ins> "Pero vamos a hacer algo más dramático. Añade las clases <code>animated</code> y <code>hinge</code> a tu elemento <code>body</code>." ] }

Discussion:
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: The example code should have valid Javascript code but the semicolon at the end is missing. !
(Sorry, used the wrong branch at first.)
Change:
handleSubmit(values) { const { updateBackendFormValues, executeChallenge } = this.props; <del> values.solution = normalizeUrl(values.solution); </del> updateBackendFormValues(values); executeChallenge(); }

Discussion:
Describe the bug Submitting the solution link as "" produces an error. Submitting "" does not. Whenever we submit a solution link "" it is appended with "/api/" so resultant solution gives "Not Found/Timeout error" and the same link submitted without "/" like "" gives solution as accepted. To Reproduce Steps to reproduce the behavior: to on 'solution input box' "https://freecodecamp-" solution gets accepted. "https://freecodecamp-" error Expected behavior This should be tackled as Chrome appends "/" by default to any domain URL you copy, so people who would copy URL from search bars will get URLs appended with "/" hence producing wrong results. This file shows the testString is directly appended with "/api" without checking if the input URL contains "/" at the end or not. Screenshots ! Desktop (please complete the following information): OS: Ubuntu 18 Browser: Google Chrome Version 73.0.3683.75
I am not having this problem - my project will pass the tests with or without the trailing https://fcc-manage-npm- and https://fcc-manage-npm- both pass for me in chrome Can you share a share a screen shot of the error?
Updated
hmm, it's strange that my project will give a good response when that string is appended but not yours https://fcc-manage-npm- - package as response https://freecodecamp- - not found as response not sure what is causing this - the only difference seems to be that I'm using glitch and you're using heroku in fact mine will work like this... https://fcc-manage-npm- so maybe how the two websites process a route or something? can they do that? glitch strips out the extra or something? weird Either way - I think a solution like you suggested would probably work - check if the submitted URL ends in a and remove it if it's there. This same problem probably occurs throughout the whole backend area all over the place.
Weird, would u check with an alternative hosting if the problem persists? If the problem persists the last solution would be stripping the las from input url
Did you try this Above is the actual link processed in the test with an appended , It gives a response with the same as it is shown in the screenshot I posted. So I guess the problem is with the routing of Heroku.
Change:
- `fix(a11y): improved search bar contrast` - `feat: add more tests to HTML and CSS challenges` - `fix(api,client): prevent CORS errors on form submission` <del> - `docs(i18n): Chinese translation of local setup` </del> <ins> - `docs(i18n): fix links to be relative instead of absolute` </ins> ## Proposing a Pull Request

Discussion:
<!-- 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 --As stated in a by the example of a PR title () is misleading as this is not to be done manually; instead being perormed by automated pipelines. Visit the above page and scroll down to find the text: Remove this example from the documentation. <!-- If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box). --<img width="653" alt="Image of the invalid example of a pr title" src="https://user-"
Hello there If anything is done here, I would not remove it from the examples - I would change it to include something else that is relevant. Reason being, it is nice to have an example showing .
like we could make the last example something like , that is something we keep doing to avoid redirect to the EN docs from the other ones
I'd be in favour of implementing Ilenia's proposed change. Though I'm not sure anything needs to be fixed here. Yes, our translation PRs are automatic, but it's still a good example of a PR title.
Change:
return <CurrentChallengeLink>Take me to the Challenges</CurrentChallengeLink>; } <del> function renderIsLocked(username) { </del> <ins> function renderIsLocked(username, isSessionUser) { </ins> return ( <Fragment> <Helmet>

Discussion:
The Portfolio button in the nav only takes me to my locked down profile. The settings button should be available on the user profile even when my profile is private and I am signed in. ! Edit raisedadead: We probably missed this while adding tests. Anyone interested can would be awesome if you could add tests while fixing this.
The settings button should be displayed here regardless of privacy settings.
You beat me to this, I opened without looking at the tracker.
Hi guys. I want to get and fix that issue.
Change:
"title": "Where do I belong", "description": [ "Return the lowest index at which a value (second argument) should be inserted into an array (first argument) once it has been sorted.", <del> "For example, where([1,2,3,4], 1.5) should return 1 because it is greater than 1 (index 0), but less than 2 (index 1).", "Likewise, where([20,3,5], 19) should return 2 because it is less than 20 (index 2) and greater than 5 (index 1).", </del> <ins> "For example, <code>where([1,2,3,4], 1.5)</code> should return <code>1</code> because it is greater than <code>1</code> (index 0), but less than <code>2</code> (index 1).", "Likewise, <code>where([20,3,5], 19)</code> should return <code>2</code> because once the array has been sorted it will look like <code>[3,5,20]</code> and <code>19</code> is less than <code>20</code> (index 2) and greater than <code>5</code> (index 1).", </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. Write your own code." ], "challengeSeed": [

Discussion:
Challenge has an issue. User Agent is: <codeMozilla/5.0 (Windows NT 6.1; Win64; x64; rv:44.0) Gecko/ Firefox/44.0</code. Please describe how to reproduce this issue, and include links to screenshots if possible. In the instructions for this exercise the second example reads, "Likewise, where([20,3,5], 19) should return 2 because it is less than 20 (index 2) and greater than 5 (index 1)." Based on the example result given, the example array should be [3,5,20].
After completing this exercise I realized that the second example may not be a typo, as the exercise requires the use of the sort() method to sort the given arrays in a numerically ascending order. So, rather than a typo, this example may just be confusing to those who have not completed the exercise.
It might make sense to add a clarifying statement like:
Change:
}; User.prototype.updateMyProjects = function updateMyProjects(project) { <del> const updateData = {}; </del> <ins> const updateData = { $set: {} }; </ins> return this.getCompletedChallenges$() <del> .flatMap(completedChallenges => { updateData.completedChallenges = buildCompletedChallengesUpdate( completedChallenges, </del> <ins> .flatMap(() => { const { updated, isNewCompletionCount } = buildCompletedChallengesUpdate( this.completedChallenges, </ins> project ); <ins> updateData.$set.completedChallenges = updated; if (isNewCompletionCount) { let points = []; // give points a length of isNewCompletionCount points[isNewCompletionCount - 1] = true; updateData.$push = {}; updateData.$push.progressTimestamps = { $each: points.map(() => Date.now()) }; } </ins> return this.update$(updateData); }) .do(() => Object.assign(this, updateData))

Discussion:
Completing projects from the settings page, submitting a url, dose not increment the points a user has. We need to push a new timestamp to the users array.
Hi I can help out with this. Am I correct in thinking that this should be done in the file? If so, I'll look at for some guidance.
Change:
import { handleActions } from 'redux-actions'; import { getLines } from '../../../../../shared/utils/get-lines'; <ins> import { mergeChallengeFiles } from '../classic/saved-challenges'; </ins> import { getTargetEditor } from '../utils/get-target-editor'; import { actionTypes, ns } from './action-types'; import codeStorageEpic from './code-storage-epic';

Discussion:
During development adding or modifying the head or tail code ( and ) don't seem to be updated in the challenge. Tested locally and on gitpod. Steps to reproduce the behavior: /modify the or in challenge. For example one of the steps in the JS curriculum. I was adding function and variables to it, and then was attempting to use them in tests. and wait for challenge to be updated. () the challenge page, or visit it for the first time. running tests, referencing the function/variables from head/tail code, there will be reference errors. Changing head or tail code, should update the challenge to use it. Login status don't seem to affect issue. During changing the code, thinking I might do something incorrectly, there were handful times when challenge was updated with the head/tail code. Not sure what was the exact reason. What makes it stranger is stopping client develop and starting again, is not necessarily solving the problem. At some point I thought that's working to get challenge fully updated, but right now that doesn't seem to work.
I might have seen this as well. I remember trying to save a regex in to use in multiple tests, and it didn't seem to work. Kind of just thought I was using it incorrectly, but maybe this was the issue.
Thanks for the detailed investigation of another tricky bug. It was another example where saved code messes things up. They're always a pain to debug because everyone sees something different, depending on whether or not they have something saved. Hopefully this is the last of them!
What's the most throwing off, that wasn't even code saved manually!
Weird. Is there nothing in your local storage?
Hmm, well there is after running tests. That must have been the point when saving mishap happened.
Oh, that's right. No mystery beyond "how did I forget this?" :face_exhaling:
Change:
] ], "type": "hike", <del> "challengeType": 6 </del> <ins> "challengeType": 6, "nameEs": "JavaScript Lingo: Tipos de valores", "descriptionEs": [ "Aprende sobre los tres tipos más básicos de valores: Booleanos, cadenas y números", "Un booleano es un valor <code>true</code> (verdadero) o <code>false</code> (falso). Estas palabras son especiales y reservadas. No puedes nombrar a una variable como "true", porque esa palabra es ya universal como un valor lógico (así como lo es "false"). ", "Una cadena es un conjunto de caracteres que se establecen entre apóstrofes (') o entre comillas ("). Una cadena puede ser "true", siempre y cuando sea con comillas o con apóstrofes. ", "Los números se explican por sí mismos - un número es un valor que se compone sólo de dígitos, aunque también puede contener un decimal o un signo negativo." ] </ins> }, { "id": "56b15f15632298c12f31518b",

Discussion:
[ ] JavaScript Lingo: MDN and Documentation [ ] JavaScript Lingo: Value Types [ ] JavaScript Lingo: Variables & camelCase [ ] JavaScript Lingo: Arrays & Objects [ ] JavaScript Lingo: Finding and Indexing Data in Arays [ ] JavaScript Lingo: Manipulating Data [ ] JavaScript Lingo: Math [ ] JavaScript Lingo: Loops [ ] JavaScript Lingo: Regular Expressions
Working on this one
Change:
{!hasEditableBoundaries && ( <TabPane eventKey={Tab.Instructions} <del> title={i18next.t('learn.editor-tabs.info')} </del> <ins> title={i18next.t('learn.editor-tabs.instructions')} </ins> tabIndex={0} > {instructions}

Discussion:
In the certification project pages, the tab on the left is "Instructions". However, if you resize the browser and the page switches to the mobile layout, the tab name changes to "Info". The "Console" on the desktop layout changes to "Tests" too. and other certification projects with built in editor to the browser Use the same name for the same content. ! ! Device: Laptop OS: Windows 10 Browser: Chrome Version: 108.0.5359.125 No response_
Technically, I don't think this is a WCAG failure. does address consistent identification of functional components. In this scenario, in wide view they are HTML buttons but in narrow view they are tabs, so technically they are not the same component and thus don't fall under 3.2.4. But for usability I would tend to agree that it would be best if they could use the same terminology since they basically do the same thing.
We can use "Console" for both mobile and desktop. Do we use "info" for the desktop layout and call it ?
I agree with using "Console" for both. For the panel showing user stories I would prefer using "Instructions" since the word "Info" seems too vague.
To solve this issue: use "Console" and "Instructions" for both layout. 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.
We might want to keep in mind that is much longer than . We do not have much real-estate on mobile.
Here are words that I can think of are "details", "step", "story", "task", "manual", "guide", and "briefing". Is any of them good enough, or do we change the console for now and come back for "instructions" later?
My initial thought is: keep everything consistent, and just use the current mobile-naming for desktop as well. However, I am not entirely happy with the word for what it denotes. might be one option, but I also like your suggestion of .
I find or interesting . I vote for too, if no one else has issue with it, we can go with it, otherwise we go with .

I think is a term in agile development so I'm not sure if we can call it just . I would vote for or if is too long. However, my main concern was that the word changes as the user resizes the window. So, I'm okay with either of them as long as we use the same word for both layouts.
We decided to go with the desktop terms for both, "Instructions" and "Console". The file that needs to be changed is We are going to make another issue about improving the mobile UX to potentially use icons or another solution.
I think that should remain for responsive design issues on cell phones and since it is the appropriate term when the student goes to vsCode or another IDE
Change:
padding: 0; margin: 0; border: none; <ins> background-color: white; </ins> } .enable-iframe {

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.