jiebi/CodeConvo huggingface dataset:
Change:
function* logToConsole(channel) { yield takeEvery(channel, function*(args) { <del> yield put(updateLogs(args)); </del> <ins> yield put(updateLogs(escape(args))); </ins> }); }

Discussion:
I stumbled upon this issue when playing around with the challenge. If a user wanted to see what the output of the final variable (the converted version of the string) to the FCC console, it does not get rendered showing the converted entities. You can see in the screenshot below that the browser console has the correct values but the FCC console does not show the same thing. ! I am guessing there are several other challenges where the user would not see the HTML code and would instead send the rendered version in the FCC console.
Change:
challenge: ChallengeWithCompletedNode; }) => ( <Link to={challenge.fields.slug}> <del> <span className='badge map-badge'> </del> <ins> <span className='map-badge'> </ins> <CheckMark isCompleted={challenge.isCompleted} /> </span> {challenge.title}

Discussion:
A2 English blocks have challenges whose title is displayed next to a completion indicator. The indicator is having a right margin, which creates a gap between the indicator and the text. <img width="746" alt="Screenshot 2024-05-31 at 22 49 13" src=""This issue is because the indicator has a class: This class was harmless as it didn't have any CSS rules associated, until we badges to the user profile page, which caused a class name collision: Remove the class from: Rename the class in to to avoid future collision
I can take this one, but I don't seem to have the permissions to assign myself to this issue.
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.
Awesome, thanks for clarifying!
Change:
### 1. Ensure that MongoDB and Client Applications are Running <del> - [Start MongoDB and seed the database](how-to-setup-freecodecamp-locally.md#step-3-start-mongodb-and-seed-the-database) </del> <ins> - [Start MongoDB and seed the database](how-to-setup-freecodecamp-locally.md#step-3-start-mongodb-and-seed-the-database). In order for Playwright tests to work, be sure that you use the `pnpm run seed:certified-user` command. </ins> - [Start the freeCodeCamp client application and API server](how-to-setup-freecodecamp-locally.md#step-4-start-the-freecodecamp-client-application-and-api-server)

Discussion:
I had a facepalm moment when I was working on a set of Playwright tests. The tests passed locally but failed in CI, and turned out I was seeding my DB with demo user () while we seed CI with certified user (): The failure was expected then, because the tests were working with different user data. I'm now wondering if we should recommend developing with over in general. If we are okay with this, we will need to update the following section of the : <img width="1088" alt="Screenshot 2023-11-09 at 17 12 23" src=""If we still recommend developing with , then we should add a note in the following section of the to ensure is run before tests are written and executed: <img width="1074" alt="Screenshot 2023-11-09 at 17 15 49" src=""
I think most people want to use the 'new' user and we do mention , so the setup docs seem fine. However, it's definitely not correct to recommend in the Playwright guide. Seems like a simple enough fix, though: the Playwright should say .
I think updating the playwright guide would be enough - but we could add a note in the main area that says something like "Use this if you are going to run playwright tests"
Change:
<section id='solution'> ```js <ins> // The global variable </ins> var fixedValue = 4; <del> const incrementer = val => val + 1; </del> <ins> // Only change code below this line function incrementer (fixedValue) { return fixedValue + 1; // Only change code above this line } </ins> ``` </section>

Discussion:
<!-- 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 criteria are updated but solution is not updated yet. Here's the and hers's the on GitHub which is currently unable to pass all the tests for the challenge. Add a Link to the page with the problem: Tell us about your browser and operating system: Browser Name: Google Chrome Browser Version: 81.0.4044.138 Operating System: Windows OS If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box): !
Change:
const statusInt = parseInt(status, 10); return (statusInt >= 200 && statusInt < 400) || statusInt === 402; } <ins> export function transformEditorLink(url) { return url .replace( /(?<=//)(?<projectname>[^.]+).(?<username>[^.]+).repl.co/?/, 'replit.com/@$<username>/$<projectname>' ) .replace( /(?<=//)(?<projectname>[^.]+).glitch.me/?/, 'glitch.com/edit/#!/$<projectname>' ); } </ins>

Discussion:
In , if a user has submitted a project link, it will display the project's working view instead of the source code. I am not so sure adding the solution links as is currently functioning is helping much. See . Instead of showing the final project link, it would be more useful to show the source code link. In the linked forum post, going to the project results in the "Hmmm.... We Couldn't Reach Your Repl" page. For at least , we should restructure the link (if needed) to show the editable version of the project. For example, if the user submits , then we show . For Codepen projects, this is not an issue, but for Backend projects where the source code is not readily available, we either need to make my above suggested changes or remove this feature for backend challenges/projects. If a user is hosting their own project, then the same issue arises. Unless they submit a GitHub link to their project source code, a final project view does not help us identify problems for the user.
I was recently thinking about this, and just wondered how stable it would be to transform the Camper's URL into the project code URL. If you think this is a decent feature to have, and worth it, then I am willing to throw something together. I will put out a POC, now. Side Note: I have been looking into the fiasco, as some lessons still cause the dents.
Change:
"</div>" ], "challengeType": 0, <del> "type": "waypoint" </del> <ins> "type": "waypoint", "nameEs": "Pre-filtra JSON", "descriptionEs": [ "Si no queremos presentar cada foto de gato que obtengamos de la API JSON de fotos de gato de Free Code Camp, podemos pre-filtrar el json antes de iterar a través de este.", "Vamos a filtrar el gato cuya llave "id" tiene un valor de 1.", "Aquí está el código para hacer esto:", "<code>json = json.filter(function(val) {</code>", "<code>&nbsp;&nbsp;return(val.id !== 1);</code>", "<code>});</code>" ] </ins> }, { "id": "bb000000000000000000006", <del> "title":  "Get Geo-location Data", </del> <ins> "title": "Get Geo-location Data", </ins> "description": [ "Another cool thing we can do is access our user's current location. Every browser has a built in navigator that can give us this information.", "The navigator will get our user's current longitude and latitude.",

Discussion:
[x] Trigger Click Events with jQuery [x] Change Text with Click Events [x] Get JSON with the jQuery getJSON Method [x] Convert JSON Data to HTML [x] Render Images from Data Sources [x] Prefilter JSON [x] Get Geo-location Data
Trabajando en esta
Change:
'say-hello-to-html-elements', jQuery: '/learn/front-end-development-libraries/jquery/' + <del> 'target-html-elements-with-selectors-using-jquery' </del> <ins> 'target-html-elements-with-selectors-using-jquery', js: '/learn/javascript-algorithms-and-data-structures/basic-javascript/' + 'comment-your-javascript-code' </ins> }; const defaultOutput = `

Discussion:
<!-- NOTE: If you're reporting a security issue, don't create a GitHub issue. Instead, email We will look into it immediately. --Javascript Code Editor Steps to reproduce the behavior: the following code; ! Device: Laptop OS: Windows 10 Browser: Edge Version: 96.0.1054.34
Same goes for Map. I don't believe we teach Set or Map anywhere so it's maybe not super relevant. But the output should be as close to the browser console as possible I would think.
cc
My best guess is it has to do with the on the log here: But debugging has been a pain because that file does not hot-reload in the client.
Set is used in this under the coding interview prep section. While using is not specifically required for the task, the example code shown does have with an expected output underneath which with this bug will not be displayed in the output. This would be quite misleading for someone who pastes in the example code to the editor.
I dug into this a little bit: the problem is that relies on a fallback when running in the browser. This fallback does not know how to handle sets or maps and just returns . If anyone wants to work on this, the obvious approach is to check if the input is an or and then write some custom code to format them.
I take it we are leaving this open, as tests should probably be ?
Change:
bsStyle='primary' onClick={submitChallenge} > <del> Submit and go to next challenge{' '} </del> <ins> {isSignedIn ? 'Submit and g' : 'G'}o to next challenge{' '} </ins> <span className='hidden-xs'>(Ctrl + Enter)</span> </Button> <ins> {isSignedIn ? null : ( <Login block={true} bsSize='lg' bsStyle='primary' className='btn-invert' > Sign in to save your progress </Login> )} </ins> {this.state.downloadURL ? ( <Button block={true}

Discussion:
I'm testing beta. Describe the bug When submitting a challenge using Ctrl+Enter it automatically completes also the following challenge. To Reproduce Steps to reproduce the behavior: a logged out user to the first challenge it Ctrl+Enter marks as solved also the following challenge and you can go ahead Expected behavior It should solve the current challenge and present the following one. Screenshots As you can see I can submit multiple challenges: ! Desktop (please complete the following information): OS: Ubuntu Browser Firefox Version 69.0.1 Additional context I've been able to reproduce it on but I could skip only one challenge. On my local dev I managed to skip 4.
I've digged a bit on this issue, and I think the problem is somehow related to this line: As this is triggered also when I'm submitting the finished challenge. If I comment that line out everything works fine, meaning I can Ctrl+Enter to run the tests and submit and the bug disappear. I'm going to dig a bit more, but does that makes any sense to you?
Thanks for testing our beta version and reporting this! You rock. /cc
Thanks It looks like I didn't test the logged out behaviour. so, what do we want to happen for logged out users? The issue I see is that it currently says 'Submit and go to the next challenge', but clearly they can't submit. For now, do we just want them to see the same as logged in users (and quietly not submit)?
Here is what I would do: ! Of course the modal should close as well like you mentioned. The signin button can link to same as the home page CTA. And we could remove from the first button
Turns out it's not working properly even when the user is logged in. I think it's a race condition between and . was quite right, the problem is on that line. It shouldn't be called if the modal is open since it's listening to as well.
yes I think it's with the in the editor and the in the . I can give a further look later if you wish.
Thanks for the offer but I think (with your help!) I've fixed it. It seemed only fair, since I introduced the bug.
Excellent!
Release on its way, should be available within the hour.
Change:
], "tests": [ "assert(lastLetterOfLastName === "e", 'lastLetterOfLastName should be "e"');", <del> "assert(editor.getValue().match(/.length/g), 'You have to use <code>.length</code> to get the last letter');" </del> <ins> "assert(editor.getValue().match(/.length/g).length === 2, 'You have to use <code>.length</code> to get the last letter');" </ins> ], "challengeSeed": [ "var firstName = "Ada";",

Discussion:
Challenge has an issue. test asserting is used will always be true, as the example code in the editor uses it.
thanks for pointing this out! You're right. Actually that assert should check if there are minimum two 's in the code.
Change:
"name":"Seek and Destroy", "difficulty":"1.60", "description":[ <del> "Remove all values (last argument(s)) from an array (first argument) and return as a new array." </del> <ins> "You will be provided with an initial array (the first argument in the destroyer function), followed by one or more arguments. Remove all elements from the initial array that are of the same value as these arguments." </ins> ], "challengeSeed": "function destroyer(arr) {n  // Remove all the valuesrn  return arr;rn}nndestroyer([1, 2, 3, 1, 2, 3], 2, 3);", "tests": [ "assert.deepEqual(destroyer([1, 2, 3, 1, 2, 3], 2, 3), [1, 1], 'should remove correct values from an array');", "assert.deepEqual(destroyer([1, 2, 3, 5, 1, 2, 3], 2, 3), [1, 5, 1], 'should remove correct values from an array');" ], <del> "MDNlinks" : ["Array.filter()"] </del> <ins> "MDNlinks" : ["Arguments object","Array.filter()"] </ins> }, { "_id": "a24c1a4622e3c05097f71d67",

Discussion:
source: Currently Reads: "Remove all values (last argument(s)) from an array (first argument) and return as a new array." Issue: From my understanding, the user is all the values from an array. However, the information in the parentheses (e.g "last argument(s) and "first argument") seem confusing. Can you please ellaborate further?
Here's another way of saying it: You will be provided with an array (the first argument in the function) and one or more values (the remaining arguments in the function) that must be removed from that array. If you look at the current tests, the arguments are similar: 1 array and 2 values. The instructions are asking you to remove as many values as are provided, but you will pass the tests if you only account for two (this will most likely be updated in the future). Does that help?
In the more information section we should mention about the object of JavaScript, and also perhaps link to the MDN page of it.
See updated copy: and pull request
Change:
"order": 1, "superBlock": "project-euler", "disableLoopProtectTests": true, <ins> "disableLoopProtectPreview": true, </ins> "challengeOrder": [ { "id": "5900f3d21000cf542c50fee4",

Discussion:
Timeout limits are too aggressive on this problem and blocking users from computing the correct answer. Verified via , the code above produces the correct number of semiprimes for 1, 10, ..., . However, for , we have a timeout. This code could probably be a bit more efficient, but even if I just cut it down to finding all primes < , it times out, indicating that it is not possible for campers to complete this exercise with the current infinite loop protections on this problem. All?
Seems like a good challenge to just remove the loop protect from entirely.
Seems like a reasonable fix to me
Change:
"tests": [], "type": "basejump", "challengeType": 4, <del> "isRequired": true </del> <ins> "isRequired": true, "nameEs": "Capa de abstracción para buscar imágenes", "descriptionEs": [ "<strong>Objetivo:</strong> Arma una aplicación de Pila Completa en JavaScript que te permite buscar imágenes como esta: <a href='https://cryptic-ridge-9197.herokuapp.com/api/imagesearch/lolcats%20funny?offset=10' target='_blank'>https://cryptic-ridge-9197.herokuapp.com/api/imagesearch/lolcats%20funny?offset=10</a> y examinar las búsquedas recientes como esta: <a href='https://cryptic-ridge-9197.herokuapp.com/api/latest/imagesearch/' target='_blank'>https://cryptic-ridge-9197.herokuapp.com/api/latest/imagesearch/</a>. Después, despliegala en Heroku.", "Ten en cuenta que para cada proyecto, deberías crear un nuevo repositorio en GitHub y un nuevo proyecto en Heroku. Si no recuerdas como hacer esto, vuelve a visitar <a href='/challenges/get-set-for-our-back-end-development-projects'>http://freecodecamp.com//challenges/get-set-for-our-back-end-development-projects</a>.", "Aquí están las historias de usuario específicas que debes implementar para este proyecto:", "<strong>Historia de Usuario:</strong> Puedo obtener la URL de una imagen, texto alternativo y URLs de las páginas de un conjunto de imágenes que se relacionen con una cadena de texto dada.", "<strong>Historia de Usuario:</strong> Puedo examinar página a página las respuestas añadiendo un parámetro del estilo <code>?offset=2</code> al URL.", "<strong>Historia de Usuario:</strong> Puedo obtener una lista de las cadenas búscadas que se enviaron más recientemente.", "Una vez que hayas terminado de implementar estas historias de usuarios, pulsa el botón "I've completed this challenge" e introduce los URLs de tu repositorio en GitHub y de tu aplicación en vivo en Heroku.", "Puedes obtener retroalimentación sobre tu proyecto por parte de otros campistas, compartiendolo en nuestra <a href='//gitter.im/freecodecamp/codereview' target='_blank'>Sala de chat para revisión de código</a>. También puedes compartirlo en Twitter y en el campamento de tu ciudad (en Facebook)." ] </ins> }, { "id": "bd7158d8c443edefaeb5bd0f",

Discussion:
[x] Get Set for our Back End Development Projects [x] Timestamp Microservice [x] Request Header Parser Microservice [x] URL Shortener Microservice [x] Image Search Abstraction Layer [x] File Metadata Microservice
Currently working on this.
I just used part of the PR that you closed. Thank you. Blessings.
Change:
</Modal.Body> <Modal.Footer className='reset-modal-footer'> <Button <del> data-cy='exit-exam-modal-confirm' block={true} bsStyle='danger' onClick={exitExam} > {t('learn.exam.exit-yes')} </Button> <Button </del> data-cy='exit-exam-modal-deny' block={true} bsStyle='primary'

Discussion:
In the exit exam modal, the primary button comes first then the close button, while the reset progress and delete account modals have it the other way around. We have been displaying buttons from the most used/important to the least (check code -save code -get help), so I think the reset progress and delete account modals should be changed to follow the pattern. It's to maintain the consistency and to prevent the user from clicking the wrong button with their muscle memory (the color in this case helps, but non-sighted users won't have the cue). The button order of the reset progress and delete account modals should be flipped.
Other way around, I think. The exit exam should be flipped. If the top button is the most commonly used one, then we should set that to the non-destructive action here. That way, if someone clicks it out of muscle memory and not intention, they haven't done something irreversible.
Yup, I think the exam one should be flipped - that's how it is in the danger zone on the settings too
Okay, thanks everyone for the input. We are going to proceed with an update in the exit exam modal. This issue is open to first-time code contributors to this repository. The file that you should be updating is 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.
Yes, I agree. The 'Reset progress' and 'Delete account' buttons should be reversed. The affirmative option always comes first, followed by the negative option.
Hello, I have flipped the order of the buttons. This should reflect the structure that it appears as.
Follow the
I have flipped the order of exit-exam model buttons, Please review it
Change:
assert(new __helpers.CSSHelp(document).getStyle('html')?.fontSize === '62.5%'); ``` <del> Your `html` selector should have a `box-sizing` property set to `border-box`. ```js assert(new __helpers.CSSHelp(document).getStyle('html')?.boxSizing === 'border-box'); ``` </del> # --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:
className="text-center challenge-title" > title text <del> <i className="ion-checkmark text-primary" title="Completed" /> </del> <ins> <span className="sr-only" > Passed </span> <svg height="50" style={ Object { "height": "15px", "marginLeft": "5px", "width": "15px", } } viewBox="0 0 200 200" width="50" xmlns="http://www.w3.org/2000/svg" > <g> <title> Passed </title> <circle cx="100" cy="99" fill="#858591" r="95" stroke="#858591" strokeDasharray="null" strokeLinecap="null" strokeLinejoin="null" /> <rect fill="#ffffff" height="30" stroke="#ffffff" strokeDasharray="null" strokeLinecap="null" strokeLinejoin="null" transform="rotate(-45, 120, 106.321)" width="128.85878" x="55.57059" y="91.32089" /> <rect fill="#ffffff" height="30" stroke="#ffffff" strokeDasharray="null" strokeLinecap="null" strokeLinejoin="null" transform="rotate(45, 66.75, 123.75)" width="80.66548" x="26.41726" y="108.75" /> </g> </svg> </ins> </h2> <a aria-label="Next lesson"

Discussion:
In the new beta (currently at ), it would be great if a challenge page indicated somehow when the challenge has already been completed. Currently, since user inputed code is not saved, there is no indication on a challenge page that it has already been completed.
We need a check mark in the title or a badge or to indicate the same?
The most elegant thing I can think of to have something like the little circular check mark next to the title like how it is on the learn homepage - only if it's been solved, and don't show anything if it hasn't.
That would be a nice way to handle it. Please go forth if you are interested in this?